Commit Graph

41 Commits

Author SHA1 Message Date
Ryan Brandenburg a10c3cb23b Upgrade to netcoreapp22 2018-05-08 11:11:18 -07:00
Patrick Westerhoff 06c93669d6 Allow overwriting parameters on challenge requests
Add a way to overwrite query arguments that are passed as part of the
challenge request to the external authentication provider in OAuth-based
authentication providers, including OpenID Connect.

This uses the new `AuthenticationProperties.Parameters` collection to
pass parameters to the authentication handler which will then look for
special items within that property bag, overwriting previously
configured values within the authentication options.

This can be used for example to overwrite the OAuth scopes that are
requested from an authentication provider, or to explicitly trigger a
reauthentication by requiring a login prompt with OpenID Connect. By
being able to specify this on individual challenge requests (using
`HttpContext.ChallengeAsync`), this is independent from the global
scheme configuration.

Custom ~ChallengeProperties types, e.g. `OAuthChallengeProperties` for
OAuth-based authentication providers, provide assistance in setting the
challenge request parameters but are not required to make the handlers
use the overwritten values.

- Adjust authentication handlers to respect the custom parameters, and
  add ~ChallengeProperties types.
- Introduce `OAuthHandler.FormatScope(IEnumerable<string>)` to format a
  custom set of scopes. Subclasses requiring a different scope format
  should override this method instead of the parameterless overload.
  Overriding just `FormatScope()` will prevent handlers from supporting
  overwriting the OAuth `scope` in a challenge request.
- Refactor GoogleHandler to support parameterization through both the
  `Parameters` and the `Items` collection (former is preferred) to keep
  compatibility with the old behavior.
- Add an OpenIdConnect sample to overwrite the prompt argument in a
  challenge request.
- Add extensive tests.
2018-03-23 02:09:05 +01:00
Chris Ross (ASP.NET) 81fb221d9e Embed OIDC metadata and mock out the backchannel #1686 2018-03-20 12:42:16 -07:00
Hao Kung c0b8be58ba
Add scheme forwarding (authN policies) (#1625) 2018-02-01 14:40:56 -08:00
Pranav K f8711a2da3 Update samples and tests to target netcoreapp2.1 2017-11-13 17:24:59 -08:00
Mikael Frosthage 5e51cb5c69 Fixed summary tag on comment (#1535) 2017-11-10 08:46:12 -08:00
Chris Ross (ASP.NET) 00c9210157 Refactor OIDC event tests 2017-11-01 15:53:26 -07:00
Chris Ross (ASP.NET) 0904af8ff3 PR style cleanup 2017-10-09 11:45:51 -07:00
OpenIDAuthority e34a5f8fb8 Add MaxAge to OpenIdConnectOptions
- max_age parameter added to the authentication request if MaxAge is not null
 - throws exception if MaxAge is set to a negative value
 - Fractions of seconds are ignored
 - See http://openid.net/specs/openid-connect-core-1_0.html#AuthRequest for expected behavior

Addresses #1233
2017-10-09 11:45:51 -07:00
Javier Calvarro Nelson 3e7d1a7fd4 React to updated IdentityModel version 2017-10-06 16:09:26 -07:00
Chris R 144ee21696 #1188 Add AuthenticationProperties to HandleRequestResult and RemoteFailureContext 2017-09-27 14:18:42 -07:00
Chris Ross (ASP.NET) 13fdbac48f #942 Add the SignedOutCallbackRedirect event for OIDC 2017-09-22 15:29:15 -07:00
Hao Kung b9d9418f6d Block SignInScheme = self 2017-09-15 14:22:03 -07:00
Chris Ross 0c82d94a54 #772 Signout FormPost test (#1358) 2017-08-11 11:50:25 -07:00
Chris R c125022050 #772 Fill in OIDC test gaps 2017-08-09 15:29:34 -07:00
Hao Kung df325deaf3 Add AddAuthentication(defaultScheme) overload 2017-07-07 12:06:00 -07:00
Hao Kung 38d33cfbf2 Fix tests to work with new default 2017-07-07 11:36:58 -07:00
Nate McMaster 968237d751 Replace configure method on Twitter, RemoteAuthentication, and OpenIdConnect options with CookieBuilder 2017-07-05 09:56:12 -07:00
Hao Kung ff9f145a8e Refactor Events + Add IAuthenticationBuilder 2017-06-29 16:27:03 -07:00
Javier Calvarro Nelson 879f0b7f40 [Fixes #1133] Limit the path on the nonce and correlation id cookies 2017-06-15 11:23:05 -07:00
Chris R 200ce72312 Rename PostLogoutRedirectUri to avoid spec confusion 2017-06-13 15:20:54 -07:00
Hao Kung ae3dfcdb32 Remote ConfigureDefaultOptions 2017-06-05 11:34:35 -07:00
Hao Kung e940cdb36b AuthZ 2.0 changes + react to Http 2017-05-25 18:29:19 -07:00
Hao Kung 1f5a27e20a Switch to Options Initializer 2017-05-17 14:05:27 -07:00
Hao Kung 99aa3bd35d Auth 2.0 2017-04-19 13:00:03 -07:00
Kévin Chalet 32dd435c6e Add an opt-out DisableTelemetry option in the OpenID Connect middleware (#1140) 2017-03-13 10:02:59 -07:00
Chris R 0c815da523 #903 Ensure redirect uris can be generated 2016-11-04 10:51:03 -07:00
Chris R 2d1c56ce5c #884 Honor OIDC's and Jwt's OnAuthenticationFailed HandleResponse() 2016-10-31 13:48:50 -07:00
Troy Dai 8f5c7aef57 Update tests 2016-08-26 08:47:56 -07:00
Troy Dai d887d74819 Update OpenIdConnectChallengeTests
1. Set header and status code in OnRedirectToIdentityProviderEventHandlesResponse
2. Move field to the top
2016-08-23 21:27:00 -07:00
Troy Dai c5c11e81b3 Split TestTransaction, add extension to TestServer 2016-08-23 09:05:17 -07:00
Troy Dai 562eb7054a Merge TestDefaultValues with TestServerBuilder 2016-08-23 09:05:17 -07:00
Troy Dai abc1b37ee1 Update OpenId Connect Challenge Tests
1. Expand the test coverage: add tests covers events work flow.
2. Move OpenID connect challenge tests to their own class.
3. Further refactory the test settings and utilities.
2016-08-23 09:05:17 -07:00
Troy Dai 936a4f6092 Update OpenId Connect Configuration tests
1. Move configuration related tests to their own class;
2. Add tests to cover missing options scenarios;
3. Add TestDefaultValues class for default values used in OpenId connect
tests.
2016-08-18 09:51:40 -07:00
Pranav K bffbfc7f9e React to OpenId renames 2016-06-04 18:53:09 -07:00
BrennanConroy 962a74c488 Add argument validation 2016-05-16 15:19:58 -07:00
Chris R 3f596108aa #690 OIDC & JWT event refactoring. 2016-03-25 10:08:33 -07:00
Kévin Chalet bbcabc0212 Move GenerateCorrelationId and ValidateCorrelationId to RemoteAuthenticationHandler 2016-02-08 11:37:49 -08:00
Chris R 3780a47528 Fix tests broken by renames. 2016-01-24 19:21:40 -08:00
N. Taylor Mullen c0d587e7c2 Rename AspNet 5 file contents.
See https://github.com/aspnet/Announcements/issues/144 for more information.
2016-01-22 12:35:47 -08:00
N. Taylor Mullen ba757d7a45 Rename AspNet 5 folders and files.
See https://github.com/aspnet/Announcements/issues/144 for more information.
2016-01-22 12:16:26 -08:00