计划是在AngularJS应用程序中支持OAuth2工作流程。 ADAL支持“隐含授权流程”。旧版本的ADFS(Windows 2012 R2中提供)仅支持“授权授权流程”
我们的计划是从实验室环境的设置开始。有人向我们建议Windows 2012 R2对OAuth2的支持有限;我们应该使用Windows 2016和ADFS 4.0设置环境。
因此,在我们开始涉及AD,ADFS,IIS的设置之前,AngularJS应用程序(这绝对是非平凡的)想要确认可以在Windows 2016服务器上运行ADFS。我们计划使用ADAL.JS来支持OAuth2支持 - 隐式授权工作流程?
答案 0 :(得分:0)
正如OAuth 2.0 support in ADFS on Windows Server 2012 R2所述,关于受支持的授权授予如下:
授权授予类型/ ADFS(Windows Server 2012 R2)
授权代码授权:支持
隐含授权:不支持
资源所有者密码凭据授予:不支持
客户端凭据授予:不支持
此外,由于ADFS as OAuth2 provider / Authentication server possible? 回答如下:
使用ADFS 2016(即将发布),您可以获得完整的Oauth / OIDC支持。有了这个,您可以构建Web应用程序,单页应用程序,API,需要代表支持的多层应用程序系统,机密客户端(支持Windows服务帐户充当机密客户端)。
对于您的方案,您可以关注Build a single page web application using OAuth and ADAL.JS with AD FS 2016。 注意:上一个演练仅适用于AD FS Server 2016及更高版本。
答案 1 :(得分:0)
我正在遵循(here),但是在尝试浏览TodoList页面时却出现401错误。 用户数据显示aud,iss,iat,exp,upn,唯一名称和sub,但不显示我的家庭和给定名称。 在中继方信任中,我有:
=> issue(store = "Active Directory", types = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname", "family_name"), query = ";displayName,mail,givenName,sn;{0}", param = c.Value);```
and in Insuance transform rules I have:
```c:[Type == "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname", Issuer == "AD AUTHORITY"]
=> issue(store = "Active Directory", types = ("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname", "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname", "http://schemas.xmlsoap.org/claims/Group", "http://schemas.microsoft.com/ws/2008/06/identity/claims/windowsaccountname"), query = ";mail,givenName,sn,tokenGroups(SID),sAMAccountName;{0}", param = c.Value);```