diff --git a/src/Microsoft.AspNet.Authentication.OpenIdConnect/Events/AuthenticationValidatedContext.cs b/src/Microsoft.AspNet.Authentication.OpenIdConnect/Events/AuthenticationValidatedContext.cs index e38b67b46b..b12aedce22 100644 --- a/src/Microsoft.AspNet.Authentication.OpenIdConnect/Events/AuthenticationValidatedContext.cs +++ b/src/Microsoft.AspNet.Authentication.OpenIdConnect/Events/AuthenticationValidatedContext.cs @@ -13,6 +13,6 @@ namespace Microsoft.AspNet.Authentication.OpenIdConnect { } - public OpenIdConnectTokenEndpointResponse TokenEndpointResponse { get; set; } + public OpenIdConnectMessage TokenEndpointResponse { get; set; } } } diff --git a/src/Microsoft.AspNet.Authentication.OpenIdConnect/Events/TokenResponseReceivedContext.cs b/src/Microsoft.AspNet.Authentication.OpenIdConnect/Events/TokenResponseReceivedContext.cs index 95751f4119..19c58dca9f 100644 --- a/src/Microsoft.AspNet.Authentication.OpenIdConnect/Events/TokenResponseReceivedContext.cs +++ b/src/Microsoft.AspNet.Authentication.OpenIdConnect/Events/TokenResponseReceivedContext.cs @@ -17,8 +17,8 @@ namespace Microsoft.AspNet.Authentication.OpenIdConnect } /// - /// Gets or sets the that contains the tokens and json response received after redeeming the code at the token endpoint. + /// Gets or sets the that contains the tokens received after redeeming the code at the token endpoint. /// - public OpenIdConnectTokenEndpointResponse TokenEndpointResponse { get; set; } + public OpenIdConnectMessage TokenEndpointResponse { get; set; } } } diff --git a/src/Microsoft.AspNet.Authentication.OpenIdConnect/OpenIdConnectHandler.cs b/src/Microsoft.AspNet.Authentication.OpenIdConnect/OpenIdConnectHandler.cs index f1e82cf89c..8cc9c16070 100644 --- a/src/Microsoft.AspNet.Authentication.OpenIdConnect/OpenIdConnectHandler.cs +++ b/src/Microsoft.AspNet.Authentication.OpenIdConnect/OpenIdConnectHandler.cs @@ -497,7 +497,7 @@ namespace Microsoft.AspNet.Authentication.OpenIdConnect var validationParameters = Options.TokenValidationParameters.Clone(); validationParameters.ValidateSignature = false; - ticket = ValidateToken(tokenEndpointResponse.ProtocolMessage.IdToken, message, properties, validationParameters, out jwt); + ticket = ValidateToken(tokenEndpointResponse.IdToken, message, properties, validationParameters, out jwt); var nonce = jwt?.Payload.Nonce; if (!string.IsNullOrEmpty(nonce)) @@ -508,7 +508,7 @@ namespace Microsoft.AspNet.Authentication.OpenIdConnect Options.ProtocolValidator.ValidateTokenResponse(new OpenIdConnectProtocolValidationContext() { ClientId = Options.ClientId, - ProtocolMessage = tokenEndpointResponse.ProtocolMessage, + ProtocolMessage = tokenEndpointResponse, ValidatedIdToken = jwt, Nonce = nonce }); @@ -527,13 +527,13 @@ namespace Microsoft.AspNet.Authentication.OpenIdConnect if (Options.SaveTokensAsClaims) { // Persist the tokens extracted from the token response. - SaveTokens(ticket.Principal, tokenEndpointResponse.ProtocolMessage, saveRefreshToken: true); + SaveTokens(ticket.Principal, tokenEndpointResponse, saveRefreshToken: true); } if (Options.GetClaimsFromUserInfoEndpoint) { Logger.LogDebug(22, "Sending request to user info endpoint for retrieving claims."); - ticket = await GetUserInformationAsync(tokenEndpointResponse.ProtocolMessage, jwt, ticket); + ticket = await GetUserInformationAsync(tokenEndpointResponse, jwt, ticket); } return AuthenticateResult.Success(ticket); @@ -618,7 +618,7 @@ namespace Microsoft.AspNet.Authentication.OpenIdConnect /// The authorization code to redeem. /// Uri that was passed in the request sent for the authorization code. /// OpenIdConnect message that has tokens inside it. - protected virtual async Task RedeemAuthorizationCodeAsync(string authorizationCode, string redirectUri) + protected virtual async Task RedeemAuthorizationCodeAsync(string authorizationCode, string redirectUri) { var openIdMessage = new OpenIdConnectMessage() { @@ -635,7 +635,7 @@ namespace Microsoft.AspNet.Authentication.OpenIdConnect responseMessage.EnsureSuccessStatusCode(); var tokenResonse = await responseMessage.Content.ReadAsStringAsync(); var jsonTokenResponse = JObject.Parse(tokenResonse); - return new OpenIdConnectTokenEndpointResponse(jsonTokenResponse); + return new OpenIdConnectMessage(jsonTokenResponse); } /// @@ -984,7 +984,7 @@ namespace Microsoft.AspNet.Authentication.OpenIdConnect return authorizationCodeReceivedContext; } - private async Task RunTokenResponseReceivedEventAsync(OpenIdConnectMessage message, OpenIdConnectTokenEndpointResponse tokenEndpointResponse) + private async Task RunTokenResponseReceivedEventAsync(OpenIdConnectMessage message, OpenIdConnectMessage tokenEndpointResponse) { Logger.LogDebug(35, "Token response received."); var tokenResponseReceivedContext = new TokenResponseReceivedContext(Context, Options) @@ -1005,7 +1005,7 @@ namespace Microsoft.AspNet.Authentication.OpenIdConnect return tokenResponseReceivedContext; } - private async Task RunAuthenticationValidatedEventAsync(OpenIdConnectMessage message, AuthenticationTicket ticket, OpenIdConnectTokenEndpointResponse tokenEndpointResponse) + private async Task RunAuthenticationValidatedEventAsync(OpenIdConnectMessage message, AuthenticationTicket ticket, OpenIdConnectMessage tokenEndpointResponse) { var authenticationValidatedContext = new AuthenticationValidatedContext(Context, Options) { diff --git a/src/Microsoft.AspNet.Authentication.OpenIdConnect/OpenIdConnectTokenEndpointResponse.cs b/src/Microsoft.AspNet.Authentication.OpenIdConnect/OpenIdConnectTokenEndpointResponse.cs deleted file mode 100644 index 4216e1eab5..0000000000 --- a/src/Microsoft.AspNet.Authentication.OpenIdConnect/OpenIdConnectTokenEndpointResponse.cs +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright (c) .NET Foundation. All rights reserved. -// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. - -using Microsoft.IdentityModel.Protocols.OpenIdConnect; -using Newtonsoft.Json.Linq; - -namespace Microsoft.AspNet.Authentication.OpenIdConnect -{ - /// - /// Class to store the response returned from token endpoint - /// - public class OpenIdConnectTokenEndpointResponse - { - public OpenIdConnectTokenEndpointResponse(JObject jsonResponse) - { - JsonResponse = jsonResponse; - ProtocolMessage = new OpenIdConnectMessage() - { - AccessToken = JsonResponse.Value(OpenIdConnectParameterNames.AccessToken), - IdToken = JsonResponse.Value(OpenIdConnectParameterNames.IdToken), - TokenType = JsonResponse.Value(OpenIdConnectParameterNames.TokenType), - ExpiresIn = JsonResponse.Value(OpenIdConnectParameterNames.ExpiresIn) - }; - } - - /// - /// OpenIdConnect message that contains the id token and access tokens - /// - public OpenIdConnectMessage ProtocolMessage { get; set; } - - /// - /// Json response returned from the token endpoint - /// - public JObject JsonResponse { get; set; } - } -} diff --git a/test/Microsoft.AspNet.Authentication.Test/OpenIdConnect/OpenIdConnectHandlerForTestingAuthenticate.cs b/test/Microsoft.AspNet.Authentication.Test/OpenIdConnect/OpenIdConnectHandlerForTestingAuthenticate.cs index 0be9b7d69b..c0333cb2f4 100644 --- a/test/Microsoft.AspNet.Authentication.Test/OpenIdConnect/OpenIdConnectHandlerForTestingAuthenticate.cs +++ b/test/Microsoft.AspNet.Authentication.Test/OpenIdConnect/OpenIdConnectHandlerForTestingAuthenticate.cs @@ -19,11 +19,11 @@ namespace Microsoft.AspNet.Authentication.Tests.OpenIdConnect { } - protected override Task RedeemAuthorizationCodeAsync(string authorizationCode, string redirectUri) + protected override Task RedeemAuthorizationCodeAsync(string authorizationCode, string redirectUri) { var jsonResponse = new JObject(); jsonResponse.Add(OpenIdConnectParameterNames.IdToken, "test token"); - return Task.FromResult(new OpenIdConnectTokenEndpointResponse(jsonResponse)); + return Task.FromResult(new OpenIdConnectMessage(jsonResponse)); } protected override Task GetUserInformationAsync(OpenIdConnectMessage message, JwtSecurityToken jwt, AuthenticationTicket ticket)