Asp.net 处理SPA应用程序的登录:获取用户信息、管理索赔
上下文: 我已经在我的应用程序中基于实现了OpenIddict。我当前使用TokenEndpoint登录用户Asp.net 处理SPA应用程序的登录:获取用户信息、管理索赔,asp.net,asp.net-core,openiddict,Asp.net,Asp.net Core,Openiddict,上下文: 我已经在我的应用程序中基于实现了OpenIddict。我当前使用TokenEndpoint登录用户 services.AddOpenIddict<ApplicationUser, UsersDbContext>().EnableTokenEndpoint("/api/Account/Login") 但我在http响应中看到的是: { "sub": "ea2248b4-a[...]70757de60fd", "iss": "http://localhost:5938
services.AddOpenIddict<ApplicationUser, UsersDbContext>().EnableTokenEndpoint("/api/Account/Login")
但我在http响应中看到的是:
{
"sub": "ea2248b4-a[...]70757de60fd",
"iss": "http://localhost:59381/"
}
这将返回一些索赔
。由于它不返回任何内容,我假设在令牌生成期间没有创建身份声明
简而言之,我需要知道的是:
使用令牌端点登录用户是否正确
我需要自己生成索赔吗
我可以自己控制索赔吗?如何控制
如何通过UserInfoEndpoint使某些声明可见
使用令牌端点登录用户是否正确
是的
我需要自己生成索赔吗
userinfo端点只是公开存储在访问令牌中的令牌(这在将来可能会改变)
我可以自己控制索赔吗?如何控制?
如何通过UserInfoEndpoint使某些声明可见
要允许userinfo端点返回更多声明,您必须请求更多范围。阅读了解更多信息
在将来的版本中,我们可能允许您返回自定义索赔,但目前不支持
使用令牌端点登录用户是否正确
是的
我需要自己生成索赔吗
userinfo端点只是公开存储在访问令牌中的令牌(这在将来可能会改变)
我可以自己控制索赔吗?如何控制?
如何通过UserInfoEndpoint使某些声明可见
要允许userinfo端点返回更多声明,您必须请求更多范围。阅读了解更多信息
在将来的版本中,我们可能允许您返回自定义声明,但目前不支持。我不清楚如何“请求更多范围”。您链接到的页面上说,范围请求应该是这样的:“scope=openid profile电子邮件电话”。但那是什么?头球?请求主体?我应该如何使用它?你应该在请求正文(用application/x-www-form-urlencoded
编码)中与其他令牌请求参数一起发送它。我这样问是因为,正如你所看到的,没有什么真正改变我所说的令牌请求,而不是userinfo请求。我不清楚如何“请求更多范围”。您链接到的页面上说,范围请求应该是这样的:“scope=openid profile电子邮件电话”。但那是什么?头球?请求主体?我应该如何使用它?您应该在请求正文(用application/x-www-form-urlencoded
编码)中与其他令牌请求参数一起发送它。我这样问是因为,正如您所看到的,没有什么真正改变我所说的令牌请求,而不是userinfo请求。
{
"sub": "ea2248b4-a[...]70757de60fd",
"iss": "http://localhost:59381/"
}