SSO 所需开放接口以及参数
一、 SSO-Server 开放接口
1. 授权地址
允许用户访问,重定向到目标地址或者登录地址。
http://{host}:{port}/sso/auth
参数 | 是否必填 | 说明 |
---|---|---|
redirect | 是 | 登录成功后的重定向地址,从哪来回哪去 |
访问接口后有两种情况:
-
当前会话在 SSO 认证中心未登录,此时用户访问了一个需要登录才能访问的应用,该应用会将用户重定向到 SSO 认证中心的登录页面,要求用户输入登录凭据。
-
当前会话在 SSO 认证中心已登录,此时用户访问了一个需要登录才能访问的应用,该应用会检测到该用户已经在 SSO 认证中心登录过(如果存在ticket并且合法),因此应用会将用户重定向回原始的应用,同时在 URL 参数中携带一个票据。应用程序会收到该票据,使用票据向 SSO 认证中心请求用户信息。SSO 认证中心会返回已登录用户的信息,而无需再次登录验证。该机制使得用户只需在 SSO 认证中心登录一次,即可在多个应用中使用。
2. 登录接口
允许用户在认证中心登录并验证其身份。用户登录成功后,认证中心应该生成一个令牌或票据,并将其返回给客户端,以便客户端在将来的请求中使用。
http://{host}:{port}/sso/doLogin
参数 | 是否必填 | 说明 |
---|---|---|
name | 是 | 用户名 |
pwd | 是 | 密码 |
3. 注销接口
允许用户从认证中心注销并销毁令牌或票据。这通常会在用户退出应用程序或浏览器会话结束时发生。
http://{host}:{port}/sso/signout
4. 令牌校验接口
允许客户端验证其令牌或票据的有效性,并确认该令牌或票据是否属于当前用户。认证中心应该返回令牌或票据的有效性状态,并在需要时返回用户信息。
http://{host}:{port}/sso/checkTicket
5. 用户信息接口
允许客户端获取关于已登录用户的信息。例如,客户端可以通过此接口获取用户的用户名、电子邮件地址、权限等。
http://{host}:{port}/sso/info
令牌刷新接口(可选)
允许客户端在令牌到期时请求新的令牌。在此情况下,认证中心应该验证客户端的身份,并向客户端返回新的令牌。
http://{host}:{port}/sso/refresh
一、 SSO-Client 开放接口
1. 登录接口
http://{host}:{port}/sso/login
参数 | 是否必填 | 说明 |
---|---|---|
back | 是 | 登录成功后的重定向地址 |
ticket | 否 | 授权 ticket 码 |
2. 注销
http://{host}:{port}/sso/logout
参数 | 是否必填 | 说明 |
---|---|---|
back | 否 | 注销成功后的重定向地址 |
总结
这里只是简单的描述了一下SSO登录所需的接口。以及基本参数和返回值,具体实现方式和业务需求可能需要其他参数和返回值。例如,在 OAuth 模式下,需要返回访问令牌、刷新令牌和访问令牌到期时间等值,而不仅仅是令牌或票据。此外,返回值的格式和编码也可能因实现方式和协议而有所不同,例如,可能会使用 JSON、XML 或 JWT 等格式来传递数据。
开启掘金成长之旅!这是我参与「掘金日新计划 · 2 月更文挑战」的第 13 天,点击查看活动详情