asp.net-mvc – ASP.NET MVC多站点SSO使用OpenID

我正在为一系列将共享用户帐户信息的网站制定计划.这个想法是,一旦用户使用OpenID登录,他们可以访问任何网站,它将会知道他们是谁.

我可以采用什么共同的模式/最佳实践来实现这一目标?

解决方法

如果所有网站在其URL中共享一个公共主机名,那么您可以设置一个认证cookie(FormsAuthentication.SetAuthCookie),指定cookie的路径为“/”,以便所有站点都可以看到该用户登录.

如果这些网站没有共享一个主机名,我认为只有一个站点才可以实现所有身份验证,只有一次登录才能真正“登录到您的网站环境”中.一个致力于验证用户),并且其他站点用户重定向到该站点进行身份验证,然后该站点重定向回来.实质上,该认证站点成为一个身份提供者,几乎完全填补了OpenID提供者的角色(实际上DotNetopenAuth可以用于这个确切的目的).由于听起来您的目标是让用户使用OpenID登录,所以该一个认证站点上的OpenID Provider本身可以使用OpenID来验证用户.您可以编写自己的纯授权OpenID Provider,只要知识请求中的领域是您信任的站点之一,它始终立即响应checkid_immediate请求.因此,您可以在所有网站上进行单点登录.

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....