【发布时间】:2018-04-18 23:40:25
【问题描述】:
我希望建立一个登录系统,我将在其中制作多个独立的网络(rails、Django、node、php 等)和 android 应用程序供我学院的学生使用并且所有这些应用程序都应该只使用一个用户名和密码的一个帐户。我搜索了最先进的方法,发现了OpenID、OpenID Connect 和OAuth2.0。我确实了解它们之间的区别,但是,我感到困惑的是在这里使用哪个。
该系统应该类似于 Google 实施的系统。谷歌有https://accounts.google.com,您可以在其中管理您的帐户、密码、个人资料等。同样,应该有一个网站供用户注册并创建他们的帐户(让它成为accounts.xyz.com)。当您打开应用程序时,您应该输入您在accounts.xyz.com 上设置的用户名和密码,这使应用程序可以访问部分(或全部)用户数据。
或者,每个应用程序上都可以有一个简单的Sign in with accounts.xyz.com按钮,其作用与用户名和密码登录相同。
这两种方法哪个更好,用什么来实现,如何实现?有没有更简单的方法来确保只有我所在学院的学生才能访问该应用程序?
【问题讨论】:
-
在否决之前,如果我可以在问题陈述中更改任何内容,请发表评论。
-
不推荐使用 OpenID 来代替 OpenID Connect。 OAuth 2.0 用于委托给应用程序以访问 API。所以,使用 OpenID Connect。
标签: oauth oauth-2.0 openid openid-connect google-openid