ToB企服应用市场:ToB评测及商务社交产业平台

标题: keycloak~认证与校验使用说明 [打印本页]

作者: 祗疼妳一个    时间: 2025-2-14 12:19
标题: keycloak~认证与校验使用说明
主要内容

密码认证

  1. grant_type:password
  2. username:test
  3. password:123456
  4. client_secret:ec0fd1c6-68b0-4c39-a9fa-c3be25c8ef01
  5. client_id:democlient
复制代码
  1. {
  2.     "access_token": "*.*.*",
  3.     "expires_in": 3000,
  4.     "refresh_expires_in": 1800,
  5.     "refresh_token": "*.*.*",
  6.     "token_type": "bearer",
  7.     "not-before-policy": 1619512543,
  8.     "session_state": "765969ec-94da-4edb-9dcb-e15ea3e0ad3b",
  9.     "scope": "roles email profile"
  10. }
复制代码
授权码认证

注意的几点

  1. {
  2.     "error": "invalid_grant",
  3.     "error_description": "redirect_uri error"
  4. }
复制代码
  1. 5c33f9a2-cbf4-4804-a8ee-e2d076eda2d6.40be5301-f41b-4f0d-97e7-d2074db2801c.ff591897-7654-460e-9c19-8e8f92117768
复制代码
请求code

  1. client_id:democlient
  2. scope:openid
  3. response_type:code
  4. client_secret:ec0fd1c6-68b0-4c39-a9fa-c3be25c8ef01
  5. redirect_uri:http://localhost:9090/callback
复制代码


请求token

  1. grant_type:authorization_code
  2. code:68058719-add6-4b40-ab96-8e71af03827a.7a31b1a9-c3e8-46d4-b8cc-345012fcf4a2.25e52f60-5991-43dd-9108-873f60af385d
  3. client_id:democlient
  4. client_secret:ec0fd1c6-68b0-4c39-a9fa-c3be25c8ef01
  5. scope:openid
  6. redirect_uri:http://localhost:9090/callback
复制代码
  1. {
  2.     "access_token": "*.*.*",
  3.     "expires_in": 3000,
  4.     "refresh_expires_in": 1800,
  5.     "refresh_token": "*.*.*",
  6.     "token_type": "bearer",
  7.     "id_token": "*.*.*",
  8.     "not-before-policy": 1619660302,
  9.     "session_state": "14812f50-b9f7-4cee-be56-bf9bef5c961a",
  10.     "scope": "openid roles email profile"
  11. }
复制代码
客户端认证

客户端认证,与用户无关,主要保证向keycloak发起的请求,来自合法的client即可(由keycloak颁发的client)
  1. grant_type:client_credentials
  2. client_secret:912ecc47-60b1-4dd4-8f62-c7745c293cab
  3. client_id:kce
复制代码

  1. {
  2.     "error": "unauthorized_client",
  3.     "error_description": "Client not enabled to retrieve service account"
  4. }
复制代码
自动触发社区认证

carsi中出现的东西,院校希望直接通过固定的uri实现社区登录,故开发这个功能





验证token是否在线

是否触发了keycloak的logout接口,如果触发了,那token将被删除,在线状态active为false,如果不希望提供client_secret参数,也可以通过/auth/realms/your-realm/protocol/openid-connect/userinfo接口来判断token是否有效,httpcode为401表示token失效.

  1. token:*.*.*
  2. client_id:democlient
  3. client_secret:ec0fd1c6-68b0-4c39-a9fa-c3be25c8ef01
复制代码
  1. {
  2.     "active": false
  3. }
复制代码
refresh_token刷新token

注意,刷新token与客户端有关,自己客户端生产的access_token,只能由自己客户端去refresh_token刷新

  1. grant_type:refresh_tokenrefresh_token:*.*.*
  2. client_id:democlient
  3. client_secret:ec0fd1c6-68b0-4c39-a9fa-c3be25c8ef01
复制代码
  1. {
  2.     "access_token": "*.*.*",
  3.     "expires_in": 3000,
  4.     "refresh_expires_in": 1800,
  5.     "refresh_token": "*.*.*",
  6.     "token_type": "bearer",
  7.     "not-before-policy": 1621497420,
  8.     "session_state": "405d25b0-5128-45ae-9934-953eecb79894",
  9.     "scope": "roles profile"
  10. }
复制代码
登出/注销

KC的登出是属于会话的登出,通过这个会话产生的所有token(一个会话大概对应多个差别client的token)都将会退出
一样平常地,如果是前后不分享项目,应该还会打扫自己网站的session会话,然后再去调用KC的接口

  1. refresh_token:*.*.*
  2. client_id:democlient
  3. client_secret:ec0fd1c6-68b0-4c39-a9fa-c3be25c8ef01
复制代码
  1. HttpCode为200或者204表示操作成功
复制代码
  1. GET /auth/realms/your-realm/sms/remove-sessions?redirect_uri={redirect_uri}
  2. 登出后,KC会跳转到redirectUri的页面
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4