【发布时间】:2014-06-26 06:06:43
【问题描述】:
我正在使用很棒的 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 等登录,则不会显示。
【问题讨论】:
标签: owin claims-based-identity thinktecture-ident-server katana