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

How to implement Single Sign On using Oauth for colleges

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

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

但是,当我尝试登录时,我被重定向到 Google 登录(可能是因为我的学校有一个 google 应用程序帐户?)。

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 和 Google 在这种情况下是如何混合的。在这种情况下,我该如何根据学校证书对我的用户进行身份验证?

谢谢!

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

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

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