Introduced IOptions interface
- Introduced IOptions interface.
- Added it as a param to ICommand.Run.
- Setting it to null everywhere it's called. This commit does not move any functionality to the new option handling, it just introduces the new interface and the new parameter to Run().
Removed AcsCommand's dependency on KentorAuthServicesSection.Current.
- Created options classes.
- Made existing KentorAuthServicesSection implement the ISPOptions interface for simple reuse.
- Made existing KentorAuthServicesAuthenticationOptions for owin implement the base IOptions interface for simple reuse.
- Added null check tests for AcsCommand.Run's parameters.
- Made sure all existing tests passed - meaning the options param must be correctly inited.
Added nullcheck to AcsCommand.Run for request param.
- Improved test case to ensure that Run actually tests this itself and not just relies on the downstream UnBind() call to do it.
Refactored AcsCommand.Run by extracting helper method.
- With the new null checks the method body had become too long.
Removed MetadataCommand's dependency on KentorAuthServicesSection.Current.
- Made sure all existing tests passed, by ensuring the options param is correctly inited in all calls to MetadataCommand.Run.
Initing options to load from Configuration in Saml2AuthenticationModule.
Made Saml2PSecurityTokenHandler part of the SP options.
- The Saml2PSecurityTokenHandler instance is dependent on the EntityId of the SP, so a default static instance won't do any more.
- The handler must be kept alive between calls for the replay detection to work, so adding it to options.
- Removed the default, static instance of Saml2PSecurityTokenHandler.
- Added spOptions parameter to Saml2Response.CreateClaims and updated all tests.
Removed SignInCommand's dependency on KentorAuthServicesSection.Current.
- Made sure all existing tests passed.
- Changed an occurence of HttpUtility.UrlEncode to Uri.EscapeDataString in SignInCommandTests - one step further from System.Web.
- Added some more required fields to ISPOptions.
- Added missing XML comment to KentorAuthServicesSection Ctor.
Removed Owin Handler's dependency on KentorAuthServicesSection.Current.
- Added AssertionConsumerServiceUrl to ISPOptions.
Changed KentorAuthServicesSection.EntityId to be an EntityId.
- Added EntityIdConverter to make the config system support Entity IDs
- Fixed tests that now should compare the .Id property.
- Removed some new EntityId(string) calls - now everything is EntityIds already.
- Changed Saml2RequestBase.Issuer to be an EntityId too, to be consistent.
Added option to KentorAuthServicesAuthenticationOptions to load config or not.
- Added a concurrent dictionary for the known identity providers. Not used yet.
- This is just an intermediate commit, I know that there are failing tests.
Loads configured identity providers into Owin options.
- If the flag to read the configuration file is set for the owin options, it now loads the statically configured idps from the config file and registers them in the idp dictionary of the options.
- The concurrent dictionary now uses the correct comparer for the dictionary...
Added SPOptions in memory implementation.
- Added some tests for logic around automatic creation of a Saml2PSecurityTokenHandler.
- I know that there are failing tests, code analysis warnings and a ton of compiler warnings, but I want to commit this separately now.
Refactored Saml2ResponseTests for BootstrapContext.
- Split out bootstrap test to a separate test method, to ensure that there is a test case for when it shouldn't be included.
- Uses the new in memory configuration to make the test much more simple.
Added missing nullcheck in IdentityProviderCollection.RegisterIdentityProviders.
Made SignInCommand use idps from options.
- Removed SignInCommand's dependency on IdentityProvider.ActiveIdentityProviders.
- Added a new IdentityProviderDictionary class which is much more simple than ActiveIdentityProvidersMap.
Added missing XML comments on IdentityProvider.
- Just added for those parts that will remain after I'm done with the config handling changes.
Removed AcsCommand's dependency on IdentityProvider.ActiveIdentityPRoviders.
- Now reads the idp info from the supplied options.
- Added XML doc to IdentityProviderDictionary.
Removed Saml2Response's dependency on IdentityProvider.ActiveIdentityProviders.
- Changed Saml2Response.Validate method to take an options param instead of signin key.
Removed dependency on IdentityProvider.ActiveIdentityProviders from some tests.
- They are now using the identity providers collection in the options.