我正在构建一个具有以下上下文的原型。
MVC方面已经完成了,但我不知道如何接近移动端。
我之前的尝试使用了Web和adfs的"adfs/services/trust/13/usernamemixed“端点。这允许移动设备向API发送凭据,然后API使用ADFS的端点对用户进行身份验证。然后,它将一个JWT令牌返回给移动应用程序。
我们必须从Idp接收SAML令牌(可以是ADFS,也可以是不同的Idp),但是我们的应用程序不知道令牌的类型。
我有两个问题。
发布于 2017-02-06 13:30:56
首先,我不推荐SAML用于移动设备(特别是本地应用程序),因为SAML假定客户端是浏览器。在移动应用程序中,它打开一个浏览器进行身份验证,这不是我感觉到的最佳方法。我建议在移动设备上使用OpenID/Oauth。
Idp可以支持多个登录协议,如WS -Fed、SAML2.0或OAuth。这取决于客户端是否使用相关协议。
在WS - Fed与IdentityServer3,有一个自己的中间件,以帮助实现它。
using Microsoft.Owin.Security.WsFederation;
app.UseWsFederationAuthentication(
new WsFederationAuthenticationOptions
{
Wtrealm = "https://localhost:44309/core", //identityserver3
Wreply = "replyaddress",
MetadataAddress = "https://localhost/federationmetadata.xml",
AuthenticationType = "adfs",
Caption = "ADFS",
SignInAsAuthenticationType = "sometype"
});上面的代码将您带到ADFS登录屏幕,在成功的身份验证之后,您将重定向到上面提到的Wreply地址,它将重新运行SAML1.1响应。您需要解析并使用它。
https://stackoverflow.com/questions/42027931
复制相似问题