我有一个应用程序,尽管实现了IProfileService
并将声明添加到context.IssuedClaims集合中,但在我的客户端应用程序中仍然无法访问它们。因此,我认为(通过阅读此处有关此主题的其他线程),我需要调用UserInfo
端点来获取此数据?
问题是,对于传递给GetUserInfoAsync
的标记值,我不确定应该在UserInfoRequest
对象中放入什么值。
我要从MVC客户端的控制器的index操作中调用以下内容:
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端点的调用?
发布于 2018-10-28 18:36:29
您可以使用在登录过程中收到的access_token调用它。该令牌将具有正确的用户声明和作用域,以便能够调用它。
https://stackoverflow.com/questions/53014276
复制相似问题