public async Task <TokenResponse> AcquireTokenByAuthorizationCodeAsync(string code) { var disco = await OidcDiscoveryHelper.GetDiscoveryDocument(_options.Authority); if (disco.IsError) { throw new Exception(disco.Error); } var extraParams = GetBackChannelExtraParameters(disco); var c = new TokenClient(disco.TokenEndpoint, _options.ClientId, _options.ClientSecret); var result = await c.RequestAuthorizationCodeAsync(code, _options.RedirectUri, string.Empty, extraParams); return(result); }
public async Task <TokenResponse> ClientCredentialsSignIn() { var disco = await OidcDiscoveryHelper.GetDiscoveryDocument(_options.Authority); if (disco.IsError) { throw new Exception(disco.Error); } var extraParams = GetBackChannelExtraParameters(disco); var c = new TokenClient(disco.TokenEndpoint, _options.ClientId, _options.ClientSecret); var result = await c.RequestClientCredentialsAsync(_options.Scope, extraParams); return(result); }
public async Task <TokenResponse> AcquireTokenByRefreshToken(string refreshToken) { var disco = await OidcDiscoveryHelper.GetDiscoveryDocument(_options.Authority); if (disco.IsError) { throw new Exception(disco.Error); } var extraParams = GetBackChannelExtraParameters(disco); var c = new TokenClient(disco.TokenEndpoint, _options.ClientId, _options.ClientSecret); var result = await c.RequestRefreshTokenAsync(refreshToken, extraParams); return(result); }
public async Task <LoginResult> Login() { var disco = await OidcDiscoveryHelper.GetDiscoveryDocument(_options.Authority); if (disco.IsError) { throw new Exception(disco.Error); } var result = await oidcClient.LoginAsync(new LoginRequest() { BackChannelExtraParameters = GetBackChannelExtraParameters(disco), FrontChannelExtraParameters = GetFrontChannelExtraParameters() }); return(result); }