我正在使用很棒的 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 等登录,显然这不会显示。