如何使用 Oauth 为大学实现单点登录



所以我花了一整个上午的时间研究这个问题,但无济于事。我正在从事一个针对大学生的项目,我希望他们使用他们的大学证书登录。根据我的大学网站,他们使用Shibboleth(不太清楚那是什么)。

http://wp.stolaf.edu/it/shibboleth/

但是,当我尝试登录时,我被重定向到 Google 登录(可能是因为我的学校有 Google Apps 帐户?

https://accounts.google.com/signin/oauth/identifier?hd=stolaf.edu&client_id=368607578799-f5geh8k6l3km5et1ufbtusikso5sb7rj.apps.googleusercontent.com&as=f79665226a2f8fc&destination=https%3A%2F%2Fwww.stolaf.edu&approval_state=!ChRBaTZRcUVWbmJmdWJzRlI3NGo5dxIfOHlPc3B4bTVzTllka0RpS1ROWXNjODdHdXNtRnlSVQ%E2%88%99ADiIGyEAAAAAWT7Z2W-jxans2dR2UJEqLGqZlFcz8o0M&passive=1209600&oauth=1&sarp=1&xsrfsig=AHgIfE-QG4f6y_Kx_8a0952JQ73sLp5JpQ&flowName=GeneralOAuthFlow

我很困惑Shibboleth和谷歌在这种情况下是如何混合的。在这种情况下,如何根据用户的学校凭据对用户进行身份验证?

谢谢!

由于该组织似乎通过Shibboleth支持联合,因此您应该忽略您所看到的Google组件。

您需要首先支持 SAML 2.0(很可能),并让您的项目充当服务提供商。Shibboleth 将生成一个签名的 SAML 断言,其中包含您可以验证的可识别用户信息。验证发生后,您可以作为标识的用户在应用程序上建立会话。

要达到这一点,您需要与大学合作交换称为元数据的东西,这决定了您的消息应该是什么样子。如果没有大学里的人和你一起工作,你不太可能做到这一点。

最新更新