0

我需要我的移动应用程序允许向第 3 方供应商(facebook、google 等)或我自己的 WS-Federation 身份提供者(我正在使用 Thinktecture)进行身份验证。现在,当登录到我自己的 WS-Fed idp 时,我想直接进行身份验证并将安全令牌传递给 Azure ACS(而不是使用专用登录页面)。我需要它,因为我不希望我的用户通过使用专用网页(并移出应用程序的上下文)使用我的提供程序进行身份验证。

您的帮助将不胜感激。

4

1 回答 1

0

从您的 ACS 管理门户获取您的领域的身份提供者列表,从下面的链接

https://YourNamespace.accesscontrol.windows.net/v2/metadata/IdentityProviders.js? 协议=wsfederation&领域=YourAppRealm&reply_to=YourAppReturnURL&版本=1.0

现在试试这个: -

  1. 上述身份提供者链接上的 HTTP GET。
  2. 从上述请求的 json 响应中解析所需身份提供者的登录链接。
  3. 使用上一步中收到的登录链接对用户进行身份验证。
  4. 您将收到您的 ACS 令牌

注意:在第 3 步之后,用户将被要求进行身份验证,身份提供者会自动将身份验证令牌发送给 ACS,最后 ACS 会将该令牌转换为新的 ACS 令牌并返回,如第 4 步。

通过这种方式,您将绕过登录页面并可以在移动应用程序中获取 ACS 令牌,而无需移出应用程序的上下文。

于 2013-10-16T08:55:11.367 回答