SSO 所需开放接口以及参数

69 阅读3分钟

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 天,点击查看活动详情