public async Task <LoginResponse> LogWithExternalProviderAsync(ExternalTokenRequest parameters) { var lr = new LoginResponse(); var disco = await Discovery.GetAsync(); //var disco = await _httpClient.GetDiscoveryDocumentAsync(); if (disco.IsError) { lr.Message = disco.Error.ToString(); return(lr); } var response = await _httpClient.RequestTokenAsync(new TokenRequest { Address = disco.TokenEndpoint, //Address = $"{baseUrl}connect/token", ClientId = clientId, GrantType = "delegation", Parameters = new Dictionary <string, string> { { "token", parameters.Token }, { "scope", scope }, { "provider", parameters.Provider } } }); lr = await MapToLoginResponse(response); return(lr); }
public async Task <LoginResponse> ExchangeTokenAsync(string token, string provider) { // Change external access-token by internal access-token // To authenticate user by changing token var param = new ExternalTokenRequest { Token = token, Provider = provider }; return(await AuthService.LogWithExternalProviderAsync(param)); }