Oauth允许共同登录到我拥有的两个网站

本文关键字:网站 两个 拥有 许共同 登录 Oauth | 更新日期: 2023-09-27 18:20:26

我有两个ASP.NET网站,分别称为Older.com(使用古老的ASP.NET网页)和Newer.com(由网页和MVC组合而成),具有独立的登录系统。我希望Older.com的用户能够将他们的帐户链接到现有的Newer.com帐户,或者使用Newer.com创建帐户,我想我想使用OAuth来实现这一点。

据我所知,OAuth通常用于允许用户使用Facebook、谷歌、微软等公司的现有帐户登录网站。然而,我可能不想使用Google/FB/MSoft帐户来创建OAuth令牌,而是使用Older.com密码来生成令牌,同时授予他们Newer.com访问权限。

基本上,使用OAuth这样做有意义吗?我必须使用链接到一个已建立的提供商Goog/FB/MSoft才能使用OAuth吗?而且,在使用OAuth时,是否存在我应该关心的安全问题?

任何建议、帮助、经验或推荐都将不胜感激!

编辑:

原因是,过去托管在Older.com上的资源正在转移到Newer.com,因为Older.com需要重建,而Newer.com是围绕存储和链接相关资源而设计的。你可以把Newer.com想象成一个可以保存文章的地方,但你也可以保存与该文章相关的所有东西(图像、主要来源、衍生作品),而Older.com只存储文章的副本,没有相关信息。

Oauth允许共同登录到我拥有的两个网站

wtyneb,

因此,有几种方法可以解决您遇到的问题。这个问题有许多流行的解决方案,但其中两种是:OAuthOpenID。OAuth本质上允许授权服务器向第三方客户端颁发访问令牌。另一方面,OpenID消除了网站管理员提供自己的特设系统的需要,并允许用户整合他们的数字身份。换句话说,用户可以登录多个不相关的网站,而不必一遍又一遍地注册他们的信息。

OAuthOpenID之间的主要区别在于,OpenID是关于身份验证(即证明你是谁),OAuth是关于授权(即授予对功能/数据等的访问权限。而不必处理原始身份验证)。

OAuth可以在外部合作伙伴站点中使用,以允许访问受保护的数据,而无需重新验证用户。

在您的情况下,如果Newer.com的用户没有使用来自Older.com的任何信息,那么使用OpenID方法更有意义。在这种情况下,实现OAuth将过度设计解决方案。

您可以通过将OpenID集成到Older.com和Newer.com网站来提供凭据,也可以简单地在后端构建相同类型的基础设施。您可以通过在Older.com网站中公开一个RESTneneneba API(您可能已经必须对其进行身份验证)来实现这一点。当人们登录到你的Newer.com、Newest.com或你将来可能创建的任何其他网站时,只需验证你在Older.com中的登录凭据。

如果你有任何问题,请告诉我!