首页 > 解决方案 > 检查用户是否使用社交媒体进行身份验证 - IdentityServer4

问题描述

My Identity Server 4 可以使用 ASP.NET 身份和社交媒体(Facebook、Google)进行身份验证

在生成令牌的 url 下面

http://localhost:5105/connect/token

所以它会响应

{
    "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"
}

反之亦然。知道怎么做吗?

标签: c#identityserver4

解决方案


在 id_token 中应该有一个名为 IDP 的声明,它代表所使用的提供程序。


推荐阅读