对于完全跨域实现单点登录的一些想法

完全跨域就是指,两个站点的主域名不一致,例如masadora.net,moecolle.com
实现方案:
masadora登录页,提交表单信息到masadora,调用loginAPI
loginAPI内使用httpclient访问SSO并携带表单信息,sso内verifyAPI,验证通过,返回token信息(应包含的属性1生成的token令牌(随机数,成功与否0和1,用户id)2。浏览器需要重定向访问的url)
loginAPI内解析json数据,获得token信息并返回给前端。
前端判断是否登录成功,成功则访问重定向的url并附带token令牌,此时这个url应为sso的tokenAPI接口,验证token之后,设置用户cookie信息。再次返回token信息,根据token再次重定向到masadora,获取用户信息并存放session中

前端判断用户是否登录,调用SSO服务器内的headVOAPI接口。

此时访问moecolle,先判断session中是否有用户,没有就重定向到sos,此时sos内根据cookie验证用户是否登录(若没有登录则跳转到登录页面),返回token信息,前端重定向到moecolle,获取用户信息并存放session中

具体细节在于token里的属性和重定向的url如何传递给前端。

你可能感兴趣的:(对于完全跨域实现单点登录的一些想法)