c# - 检查用户是否使用社交媒体进行身份验证 - IdentityServer4
问题描述
My Identity Server 4 可以使用 ASP.NET 身份和社交媒体(Facebook、Google)进行身份验证
在生成令牌的 url 下面
所以它会响应
{
"access_token": "{Bearer Token}",
"expires_in": 3600,
"token_type": "Bearer"
}
是否可以添加新的属性调用authenticate_type
?所以我可以通过社交媒体了解这个用户的访问权限。
例子:
如果用户使用 Facebook 进行身份验证
{
"access_token": "{Bearer Token}",
"expires_in": 3600,
"token_type": "Bearer",
"authenticate_type": "Facebook"
}
如果用户使用 Google 进行身份验证
{
"access_token": "{Bearer Token}",
"expires_in": 3600,
"token_type": "Bearer",
"authenticate_type": "Google"
}
反之亦然。知道怎么做吗?
解决方案
在 id_token 中应该有一个名为 IDP 的声明,它代表所使用的提供程序。
推荐阅读
- ios - 无法获取 navigationItem.rightBarButtonItem 的 UIView/Frame - iOS
- sqlite - SQL - julianday 函数的正确日期格式是什么?
- c++ - 编译器确定参数是给定还是省略
- groovy - Nifi Groovy 脚本将 Json 转换为 CSV
- docusignapi - Docusign:发送模板信封,得到“选项卡元素中指定的 DocumentId 不引用此信封中的文档”
- grid - tk_messageBox 在网格视图中显示错误,但在包中正常
- javascript - 如何使用 Chai.js 检查数组中的任何元素是否包含大于 0 的值?
- neural-network - 如何在语音识别中生成时间戳?
- javascript - 如何将 React 组件推送到数组?
- c++ - 生成整数长度的枚举数组