我使用的是令人敬畏的ThinkTecture Identity(IdSrv)和授权(AS)服务器。
我在多个身份提供商(Facebook,ADFS,Google等)上设置了IdSrv。
我正在运行流程演示并且一切正常,我目前正通过app.UseClaimsTransformation(new ClaimsTransformer().Transform);
中的startup.cs
来处理ClaimsTransformer。
我想知道提供索赔的身份提供商,目前从AS发送的唯一索赔如下:
{iss: as}
{aud: users}
{nbf: 1399569317}
{exp: 1399572917}
{client_id: implicitclient}
{scope: read}
{sub: 6435621316}
上例中的主题是标识自己的用户的Facebook帐户,但很容易mydomain\someusr
。
我有什么方法可以获得用作索赔的身份提供者的名称或其他方式吗?
我需要知道这一点,因为如果用户使用本机ThinkTecture IdentityServer作为身份提供商登录(用户名/密码 - 我可以集成到用户/密码数据库),我希望有一个更改用户密码的链接通过IUserRepository
存储库),如果用户通过facebook / google等登录,显然不会显示。
答案 0 :(得分:1)
来自ThinkTecture的Dominick回答了这个问题:
尝试在web.config中将filterIncomingClaims设置为false
一旦完成,其他索赔就会出现。