0

我正在使用很棒的 ThinkTecture Identity (IdSrv) 和 Authorization (AS) 服务器。

我有多个身份提供者(Facebook、ADFS、谷歌等)的 IdSrv 设置。

app.UseClaimsTransformation(new ClaimsTransformer().Transform);我正在运行流程演示,并且一切正常,我目前正在通过in使用 ClaimsTransformer startup.cs

我想知道声明是由哪个身份提供者提供的,目前从 AS 发送的唯一声明如下:

{iss: as}
{aud: users}
{nbf: 1399569317}
{exp: 1399572917}
{client_id: implicitclient}
{scope: read}
{sub: 6435621316}

上面示例中的主题是标识自己的用户的 Facebook 帐户,但很容易是mydomain\someusr.

有什么方法可以让身份提供者的名称用作声明或其他方式?

我需要知道这一点,因为如果用户使用本机 ThinkTecture IdentityServer 作为身份提供者(用户名/密码 - 我可以通过IUserRepository存储库集成到用户/密码数据库)登录,我需要一个链接来更改用户密码),如果用户通过 facebook/google 等登录,显然这不会显示。

4

1 回答 1

1

ThinkTecture 的 Dominick 友好地回答了这个问题:

尝试在 web.config 中将 filterIncomingClaims 设置为 false

https://github.com/thinktecture/Thinktecture.AuthorizationServer/blob/master/source/WebHost/Web.config

一旦完成,额外的索赔就会出现。

于 2014-05-10T09:50:39.560 回答