用户退出,就是使用企业服务平台的《授权码模式》或者《授权码模式(PKCE)》登录授权后,返回的id_token,跳转企业服务平台进行用户退出,用户退出成功后,还可以跳转到应用系统,大体步骤如下:
请求地址:
生产环境:https://esp.xkw.cn/connect/logout
沙箱测试环境:https://esp.doc.xkw.cn/connect/logout
应用系统需要获取用户的身份信息,第一步需要构造如下的链接来获取code参数:
https://esp.xkw.cn/connect/logout?id_token_hint=ID_TOKEN&client_id=CLIENT_ID&post_logout_redirect_uri=REDIRECT_URI&state=STATE
参数说明:
参数 | 必须 | 说明 |
---|---|---|
id_token_hint | 是 | 《授权码模式》或者《授权码模式(PKCE)》登录授权后,返回的id_token |
client_id | 是 | 应用的client_id |
post_logout_redirect_uri | 否 | 用户退出后重定向的回调链接地址,请使用urlencode对链接进行处理 |
state | 否 | 重定向后会带上state参数,企业可以填写a-zA-Z0-9的参数值,长度不可超过128个字节 |
员工点击后,页面将跳转至 post_logout_redirect_uri?state=STATE。
比如应用系统client_id:oa
访问链接跳转地址:https://oa.xkw.cn/logout
根据URL规范,将上述参数分别进行UrlEncode,得到拼接的OAuth2链接为:
https://esp.xkw.cn/connect/logout?id_token_hint=eyJraWQiOiJjM2Q2ZDAxYiIsInR5cCI6IkpXVCIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiJ4eTA3NjE5IiwiYXVkIjoib2EiLCJhenAiOiJvYSIsImF1dGhfdGltZSI6MTcxMDQ4MzUwNCwiaXNzIjoiaHR0cHM6Ly9lc3AuZG9jLnhrdy5jbiIsImV4cCI6MTcxMDQ4NTMwNCwiaWF0IjoxNzEwNDgzNTA0LCJzaWQiOiJlbG52czRnclNmd1ZtM2dxMjhWbnNlaEFhVmJib2QxandscmJqUERIc3M0In0.NGfTkjpFTiuXfqSdHGWVO_1XnKOicfa25yQ2xHqeJtPUU0AHMmrxet-gcPV2F02Y6svbY2cXmrbEaQJu34ZFkoGlMM45Tl-ulSlWoNRc-rlCETOzZb3Kz5YHMD-Jt845IhIz8xX7PARMBPqlYl66Ak0GHhy9ZT14FxQNmcBLKRj8Ip17ekDIUcFAPzY-NQnXu2yirxUPRwgL4pPI6ryEA9w1h-ESnlM2daZV0RGtpZS9rUcN9ngCi9sO0vanGlYi-yiAy8XTK2JF8nnVf3SJP8srlmgQt5gyBjm31tPSYlfbUJeFiN2NxYqYOqJscgdGmHhOVhs3cbWNYonzmZ-deg&client_id=oa&post_logout_redirect_uri=https%3A%2F%2Foa.xkw.cn%2Flogout
注意,构造OAuth2链接中参数的post_logout_redirect_uri是经过UrlEncode的
员工点击后,页面将跳转至
https://oa.xkw.cn/logout
应用系统可根据自身业务情况,进行会话销毁等操作。
如果授权码模式,有调用“令牌刷新”接口,会返回新的id_token,系统需要更新对应的id_token,旧的id_token失效,不能用于退出操作;