#501 Replace OpenIdConnectTokenEndpointResponse with an OpenIdConnectMessage
This commit is contained in:
parent
00c81d41aa
commit
ef61b14d6a
|
|
@ -13,6 +13,6 @@ namespace Microsoft.AspNet.Authentication.OpenIdConnect
|
|||
{
|
||||
}
|
||||
|
||||
public OpenIdConnectTokenEndpointResponse TokenEndpointResponse { get; set; }
|
||||
public OpenIdConnectMessage TokenEndpointResponse { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,8 +17,8 @@ namespace Microsoft.AspNet.Authentication.OpenIdConnect
|
|||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the <see cref="OpenIdConnectTokenEndpointResponse"/> that contains the tokens and json response received after redeeming the code at the token endpoint.
|
||||
/// Gets or sets the <see cref="OpenIdConnectMessage"/> that contains the tokens received after redeeming the code at the token endpoint.
|
||||
/// </summary>
|
||||
public OpenIdConnectTokenEndpointResponse TokenEndpointResponse { get; set; }
|
||||
public OpenIdConnectMessage TokenEndpointResponse { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
|||
/// <param name="authorizationCode">The authorization code to redeem.</param>
|
||||
/// <param name="redirectUri">Uri that was passed in the request sent for the authorization code.</param>
|
||||
/// <returns>OpenIdConnect message that has tokens inside it.</returns>
|
||||
protected virtual async Task<OpenIdConnectTokenEndpointResponse> RedeemAuthorizationCodeAsync(string authorizationCode, string redirectUri)
|
||||
protected virtual async Task<OpenIdConnectMessage> 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);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
|
@ -984,7 +984,7 @@ namespace Microsoft.AspNet.Authentication.OpenIdConnect
|
|||
return authorizationCodeReceivedContext;
|
||||
}
|
||||
|
||||
private async Task<TokenResponseReceivedContext> RunTokenResponseReceivedEventAsync(OpenIdConnectMessage message, OpenIdConnectTokenEndpointResponse tokenEndpointResponse)
|
||||
private async Task<TokenResponseReceivedContext> 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<AuthenticationValidatedContext> RunAuthenticationValidatedEventAsync(OpenIdConnectMessage message, AuthenticationTicket ticket, OpenIdConnectTokenEndpointResponse tokenEndpointResponse)
|
||||
private async Task<AuthenticationValidatedContext> RunAuthenticationValidatedEventAsync(OpenIdConnectMessage message, AuthenticationTicket ticket, OpenIdConnectMessage tokenEndpointResponse)
|
||||
{
|
||||
var authenticationValidatedContext = new AuthenticationValidatedContext(Context, Options)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -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
|
||||
{
|
||||
/// <summary>
|
||||
/// Class to store the response returned from token endpoint
|
||||
/// </summary>
|
||||
public class OpenIdConnectTokenEndpointResponse
|
||||
{
|
||||
public OpenIdConnectTokenEndpointResponse(JObject jsonResponse)
|
||||
{
|
||||
JsonResponse = jsonResponse;
|
||||
ProtocolMessage = new OpenIdConnectMessage()
|
||||
{
|
||||
AccessToken = JsonResponse.Value<string>(OpenIdConnectParameterNames.AccessToken),
|
||||
IdToken = JsonResponse.Value<string>(OpenIdConnectParameterNames.IdToken),
|
||||
TokenType = JsonResponse.Value<string>(OpenIdConnectParameterNames.TokenType),
|
||||
ExpiresIn = JsonResponse.Value<string>(OpenIdConnectParameterNames.ExpiresIn)
|
||||
};
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// OpenIdConnect message that contains the id token and access tokens
|
||||
/// </summary>
|
||||
public OpenIdConnectMessage ProtocolMessage { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Json response returned from the token endpoint
|
||||
/// </summary>
|
||||
public JObject JsonResponse { get; set; }
|
||||
}
|
||||
}
|
||||
|
|
@ -19,11 +19,11 @@ namespace Microsoft.AspNet.Authentication.Tests.OpenIdConnect
|
|||
{
|
||||
}
|
||||
|
||||
protected override Task<OpenIdConnectTokenEndpointResponse> RedeemAuthorizationCodeAsync(string authorizationCode, string redirectUri)
|
||||
protected override Task<OpenIdConnectMessage> 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<AuthenticationTicket> GetUserInformationAsync(OpenIdConnectMessage message, JwtSecurityToken jwt, AuthenticationTicket ticket)
|
||||
|
|
|
|||
Loading…
Reference in New Issue