/// <inheritdoc /> public async Task <LoginResult> LoginAsync(object extraParameters = null, CancellationToken cancellationToken = default) { var finalExtraParameters = AppendTelemetry(extraParameters); if (_options.MaxAge.HasValue) { finalExtraParameters["max_age"] = _options.MaxAge.Value.TotalSeconds.ToString("0"); } var loginRequest = new LoginRequest { FrontChannelExtraParameters = new Parameters(finalExtraParameters) }; Debug.WriteLine($"Using Callback URL '{OidcClient.Options.RedirectUri}'. Ensure this is an Allowed Callback URL for application/client ID {_options.ClientId}."); var result = await OidcClient.LoginAsync(loginRequest, cancellationToken); if (!result.IsError) { if (finalExtraParameters.ContainsKey("organization")) { _idTokenRequirements.Organization = finalExtraParameters["organization"]; } await IdTokenValidator.AssertTokenMeetsRequirements(_idTokenRequirements, result.IdentityToken); // Nonce is created & tested by OidcClient } return(result); }
/// <inheritdoc/> public async Task <RefreshTokenResult> RefreshTokenAsync(string refreshToken, object extraParameters = null, CancellationToken cancellationToken = default) { var result = await OidcClient.RefreshTokenAsync(refreshToken, AppendTelemetry(extraParameters), cancellationToken); if (!result.IsError) { await IdTokenValidator.AssertTokenMeetsRequirements(_idTokenRequirements, result.IdentityToken); // Nonce is created & tested by OidcClient } return(result); }
/// <inheritdoc/> public async Task <RefreshTokenResult> RefreshTokenAsync(string refreshToken, object extraParameters = null, CancellationToken cancellationToken = default) { var finalExtraParameters = AppendTelemetry(extraParameters); var result = await OidcClient.RefreshTokenAsync(refreshToken, new Parameters(finalExtraParameters), cancellationToken); if (!result.IsError) { if (finalExtraParameters.ContainsKey("Organization")) { _idTokenRequirements.Organization = finalExtraParameters["Organization"]; } await IdTokenValidator.AssertTokenMeetsRequirements(_idTokenRequirements, result.IdentityToken); // Nonce is created & tested by OidcClient } return(result); }
private Task ValidateToken(string token, IdTokenRequirements reqs = null, DateTime?when = null, ISignatureVerifier signatureVerifier = null) { return(IdTokenValidator.AssertTokenMeetsRequirements(reqs ?? defaultReqs, token, when ?? tokensWereValid, signatureVerifier ?? rs256NoSignature)); }