作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 ADFS 和 SAML 2.0 设置单点登录 (SSO) 系统。我必须遵循我坚持的场景:
1) 用户尝试访问 Web 资源,但未登录,因此被定向到 ADFS SSO 服务。
2) 用户成功通过 ADFS 身份验证。
3) ADFS 将 SAML 响应传递回 Web 资源。
4)web资源本身有用户数据库,但是这里不存在用户。
5)因此,网络资源必须静默创建用户帐户。为此,我需要电子邮件地址。
那么,是否可以将 ADFS 配置为在成功的 SAML 响应消息中返回用户的电子邮件地址?
最佳答案
您可以将 ADFS 配置为返回电子邮件声明,前提是 ADFS 有某种获取方式(Active Directory 或其他一些属性存储,也许是它可以访问的数据库?)并且您的应用程序设置为解密返回的 token 以读取里面的 claim 。
假设这是 ADFS 2.0:
<microsoft.identityModel>
在您的 web.config 部分,确保您已将其设置为保存引导 token (
<service saveBootstrapTokens="true">
)。在您的代码中,您现在可以通过执行以下操作随时访问电子邮件声明:
string email = (User.Identity as IClaimsIdentity).Claims.Where(c => c.ClaimType == ClaimTypes.Email).FirstOrDefault().Value;
关于authentication - 使用单点登录和 ADFS 从 SAML 响应中获取电子邮件地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9415002/
这个问题在这里已经有了答案: Git for beginners: The definitive practical guide (37 个答案) 关闭 9 年前。 在使用句点(或句点,单点)将文件
我是一名优秀的程序员,十分优秀!