public async Task OnGeneratingClaims_AddsGrantedTokensForAuthorizationCode( string scopes, string tokens) { // Arrange var context = new TokenGeneratingContext( new ClaimsPrincipal(), new ClaimsPrincipal(), new OpenIdConnectMessage(), new RequestGrants() { Scopes = scopes.Split(' ').Select(CreateScope).ToList() }); var expectedTokens = tokens.Split(' ').OrderBy(t => t).ToArray(); var claimsProvider = new GrantedTokensTokenClaimsProvider(); context.InitializeForToken(TokenTypes.AuthorizationCode); // Act await claimsProvider.OnGeneratingClaims(context); var granted = context.CurrentClaims .Where(c => c.Type.Equals(IdentityServiceClaimTypes.GrantedToken)) .OrderBy(c => c.Value) .Select(c => c.Value) .ToArray(); // Assert Assert.Equal(expectedTokens, granted); }
public async Task OnGeneratingClaims_AddsGrantedTokensForRefreshToken() { // Arrange var context = new TokenGeneratingContext( new ClaimsPrincipal(), new ClaimsPrincipal(), new OpenIdConnectMessage(), new RequestGrants() { Tokens = new List <string> { TokenTypes.AccessToken, TokenTypes.IdToken, TokenTypes.RefreshToken } }); var expectedTokens = new[] { TokenTypes.AccessToken, TokenTypes.IdToken, TokenTypes.RefreshToken }; var claimsProvider = new GrantedTokensTokenClaimsProvider(); context.InitializeForToken(TokenTypes.RefreshToken); // Act await claimsProvider.OnGeneratingClaims(context); var granted = context.CurrentClaims .Where(c => c.Type.Equals(IdentityServiceClaimTypes.GrantedToken)) .OrderBy(c => c.Value) .Select(c => c.Value) .ToArray(); // Assert Assert.Equal(expectedTokens, granted); }