如何实现基于组织的认证
How to implement authentication based on organization
我正在使用 Clojure 和 ClojureScript 构建一个 Web 应用程序,我需要它具有基于组织白名单的身份验证。例如,假设我已将 University1.edu 添加到我的白名单中,当该大学的学生想要登录我的网络应用程序时,他们将被重定向到他们自己的大学登录系统。之后我会确认他们是否成功登录并可能为他们创建会话、cookie 或其他东西。
这可能吗?如果可以,我该如何实现?
实现此身份验证方案的一些常见方法是 OAuth2 and OpenID,通常用于网站,您可以使用您的社交/Twitter/Facebook/Google 帐户登录。
例如,使用 OAuth,您在某些开发人员门户中注册您的网站(取决于您将用于身份验证的服务)并获得一个令牌,您将在登录流程期间和登录他们的网站后使用该令牌门户网站,用户将被重定向回您的网站。
为了实现这一点,每个组织(例如 University1)都需要成为此身份验证方案的提供者,因此您需要研究这一点。
在 Clojure 中有几个选项:buddy library seems to be a popular choice, but you could also use some Java libraries 通过互操作。
我正在使用 Clojure 和 ClojureScript 构建一个 Web 应用程序,我需要它具有基于组织白名单的身份验证。例如,假设我已将 University1.edu 添加到我的白名单中,当该大学的学生想要登录我的网络应用程序时,他们将被重定向到他们自己的大学登录系统。之后我会确认他们是否成功登录并可能为他们创建会话、cookie 或其他东西。
这可能吗?如果可以,我该如何实现?
实现此身份验证方案的一些常见方法是 OAuth2 and OpenID,通常用于网站,您可以使用您的社交/Twitter/Facebook/Google 帐户登录。
例如,使用 OAuth,您在某些开发人员门户中注册您的网站(取决于您将用于身份验证的服务)并获得一个令牌,您将在登录流程期间和登录他们的网站后使用该令牌门户网站,用户将被重定向回您的网站。
为了实现这一点,每个组织(例如 University1)都需要成为此身份验证方案的提供者,因此您需要研究这一点。
在 Clojure 中有几个选项:buddy library seems to be a popular choice, but you could also use some Java libraries 通过互操作。