我有一个应用程序,尽管实现了IProfileService
并将声明添加到了context.IssuedClaims集合中,但在我的客户端应用程序中仍然无法访问它们。
因此,我想到了(通过阅读此处有关该主题的其他线程),我需要调用UserInfo
端点来获取此数据?
问题是,我不确定要传递给UserInfoRequest
的令牌值在GetUserInfoAsync
对象中放置什么值。
我需要从MVC客户端控制器的索引操作中调用以下内容:
var client = new HttpClient();
var discovery = await client.GetDiscoveryDocumentAsync(Common.Constants.GlobalConfig.IDENTITY_SERVER_ENDPOINT);
if (discovery.IsError) throw new Exception(discovery.Error);
var tokenClient = new TokenClient(discovery.TokenEndpoint, Constants.ClientList.VIEW_MY_BILLS, "secret");
var tokenResponse = tokenClient.???
var response = client.GetUserInfoAsync(new UserInfoRequest
{
Address = discovery.UserInfoEndpoint,
Token = User.???
}
我是否在正确的轨道上以获取有关用户的其他数据(如声明)?如果是,我在上例中如何完成对UserInfo端点的调用?
答案 0 :(得分:1)
您使用登录过程中收到的access_token对其进行调用。该令牌将具有正确的用户声明和能够调用它的范围。