dependabot[bot] on nuget
Bump System.Text.Encodings.Web … (compare)
[16:05:57 Debug] Sustainsys.Saml2.AspNetCore2.Saml2Handler
Expanded Saml2Url
AssertionConsumerServiceUrl: https://localhost:5001/Saml2/Acs
SignInUrl: https://localhost:5001/Saml2/SignIn
LogoutUrl: https://localhost:5001/Saml2/Logout
ApplicationUrl: https://localhost:5001/
AssertionConsumerServiceUrl
is properly using https
.
AssertionConsumerServiceUrl
is http://auth.my-company/Saml2/Acs
. It's using http
instead of https
. I'm not sure why that is.
Hi @AndersAbel , I am using HTTPModules with Asp.Net 4.6 framework, I have implemented everything but getting the below Error after redirecting from ADFS on Saml2/ACS page.
Server Error in '/' Application.
The Saml2Response must have status success to extract claims.
Saml2 Status Code: Responder
Saml2 Status Message:
Saml2 Second Level Status:
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: Sustainsys.Saml2.Exceptions.UnsuccessfulSamlOperationException: The Saml2Response must have status success to extract claims.
Saml2 Status Code: Responder
Saml2 Status Message:
Saml2 Second Level Status:
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Its been months and not able to find out solution.
Any gentleman can give their suggestion as well, please!
@AndersAbel PLEASE
whenever i am hitting my url https://test.xyz.com it redirects me to ADFS, and there after putting credential SAML2 HTTpModule again redirecting multiple times with different saml request and finally it is giving error as i have written above
Thanks @mlindegarde for your kind response. yes i have changed the configuration, but also i am sure i have cleaned all cookies and session even history as well. but no success.
i asked for adfs log as well from server team.
in the mean while if by chance you get remember the configuration part then please let me know.
thanks once again
Hi everyone i am getting below error, please suggest i am using correct certificate files.
The signature verified correctly with the key contained in the signature, but that key is not trusted.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: Sustainsys.Saml2.Exceptions.InvalidSignatureException: The signature verified correctly with the key contained in the signature, but that key is not trusted.
Hi @AndersAbel , Regarding above certificate validation issue.
I am getting response successfully from ADFS server (as i checked in one of the chrome extension) but due to certificate validation method called i am not getting response in thread principle claims.
please suggest me that how can i resolve this.
Can i stop certificate validation part by changing in some configuration.
using latest stable version of SAML.HttpModule.
I will be grateful if you will revert me on my issue.
Hello @AndersAbel ,
First of all, it's a very kind of you that you given time to reply me.
But as I have matched again both the public certificate and the token signing certificate The IDP Certificate which is coming in response from ADFS are identical to what i have configured in my application as an idp certificate as you can see in the image above.
The only things new i have found is my ADFS contains 2 token signing certificate 1 is newer which i am using and other is older one which is not in use anymore.
Please help me if there is any suggestion or guidance.
(i am using chrome 3rd party extension named "SAML message decoder")
Is there not any way to control manually or to redirect to some custom page of alternate login if due to any reason user will not able to logged in on runtime.
I want my user will able to become login using manual login form, in case any issue occurred during authentication from either ADFS side or from Application side (instead of throwing YELLOW error page).
Brief:
on application 1st hit i want to redirect my user to ADFS, Whether ADFS do not responded OR ADFS do respond but SAML response was not able to parse from Sustainsys SAML httpmodule OR SAML response Status code is something other than success then in any such scenario i want user get auto redirect on to some other existing login page.
i am using
SAML2.HTTPModules
Asp.Net, C#, and 4.6 framework of dot net
How to fix browser back button to (SAML2/ACS) issue after SAML SSO success
There is no fix for that currently. There is an open issue, please see discussion in there.
@AndersAbel
Sure, I can point you in the right direction...
Hi Guys, I used this code as a sample for my project. It works for old IDP and after I add new, it also works. But when I want to delete it we getting Idp as null from the GetProvider method, as result in the method ValidateSignature, we getting a null reference error. Prety same as here Sustainsys/Saml2#1046
Any advice, how to resolve it?
this one codebuilder.AddSaml2( saml2Options => { saml2Options.SignInScheme = IdentityServerConstants.ExternalCookieAuthenticationScheme; saml2Options.SPOptions.EntityId = new EntityId(config.Saml2.ServiceProviderEntityId); saml2Options.SPOptions.ServiceCertificates.Add(certificate); saml2Options.Notifications.SelectIdentityProvider = (id, data) => GetProvider(identityProviderStore, id, data, saml2Options, logger); saml2Options.Notifications.GetIdentityProvider = (id, data, options) => GetProvider(identityProviderStore, id, data, options, logger); saml2Options.Notifications.AcsCommandResultCreated = (commandResult, response) => { if (commandResult.Principal.Identity is ClaimsIdentity identity) identity.AddClaim(new Claim("in_response_to", response.InResponseTo.Value)); }; });
In the docs, it says about service certificates, "Specifies the certificate(s) that the service provider uses for encrypted assertions (and for signed requests, once that feature is added). If neither of those features are used, this element can be omitted."
What does it mean by "once that feature is added"?
Also, does anyone have an example of how to add a certificate in code (not using .config)?
Can I get a brief explanation of how multiple SP or IdP certificates are used once loaded?
Scenario: we want to load up a certificate and at a later date, its successor to make a seamless transation with no downtime or synchronisation with the IdP. I can load these easily into the ServiceCertificateCollection and they are both emitted through the SP metadata fine.
Question: given I have two certificates loaded, when signing the request, which certificate will Sustainsys use?
Likewise, when an ACS is returned from the IdP and we have two certificates of theirs loaded, does the middleware just look a matching cert?