public async Task <GetTokenInfoResponse> GetTokenInfo(string accessToken) { using var client = GetHttpClient(); var getTokenInfoRequest = new GetTokenInfoRequest() { AccessToken = accessToken }; var content = GetHttpContent(JsonSerializer.Serialize <GetTokenInfoRequest>(getTokenInfoRequest, jsonSerializerOptions)); var request = new HttpRequestMessage(HttpMethod.Get, $"{baseUrl}/api/user") { Content = content }; var response = await client.SendAsync(request); var responseContent = await response.Content.ReadAsStringAsync(); if (response.StatusCode == HttpStatusCode.OK) { var tokenInfo = JsonSerializer.Deserialize <GetTokenInfoResponse>(responseContent, jsonSerializerOptions); return(tokenInfo); } DispatchEvent(OnError, new UserClientErrorEventArgs($"Error getting token info: {response.StatusCode} : {responseContent}")); return(null); }
public override Task <GetTokenInfoReply> GetTokenInfo(GetTokenInfoRequest request, ServerCallContext context) { var tokenClaims = tokenClaimsAccessor.TokenClaims; return(Task.FromResult(new GetTokenInfoReply() { UserId = tokenClaims.UserId, Scope = new Scope() { System = tokenClaims.System, DomainId = tokenClaims.DomainId, ProjectId = tokenClaims.ProjectId, Role = (Protos.Common.UserRole)tokenClaims.Role, } })); }
public async Task <ActionResult <GetTokenInfoResponse> > GetTokenInfo([Required(ErrorMessage = "You must provide an access token")] GetTokenInfoRequest getTokenInfoRequest) { if (getTokenInfoRequest == null) { return(BadRequest()); } var getTokenResponse = await _userRepository.GetToken(getTokenInfoRequest.AccessToken); var validationResult = await ValidateToken(getTokenResponse); if (validationResult != TokenValidationResult.Ok) { return(NotFound()); } return(new GetTokenInfoResponse() { OwnerId = getTokenResponse.OwnerId, Expires = getTokenResponse.Expires, Email = getTokenResponse.Email, UserName = getTokenResponse.UserName }); }