我给开源软件hoppscotch增加了sso单点登陆功能
因为我的服务放到了公网上面,所以默认的系统不登陆也能使用,于是我加了登陆页面,当用户未登陆时,自动跳转到登陆页面,如下 2.系统默认的登陆是email/github之类的,太不方便,于是我增加了SSO登陆的功能(配置我自己搭建的SSO系统authentik),完美实现登陆。 只需要在selfthost-web上,增加Login page,打到后替换原来的/site 3.后端backend api,增加sso callback api auth.controller.ts增加: /** ** Route to initiate SSO auth via Microsoft */ @Get('oidc') @UseGuards(OIDCSSOGuar...
MYSQL AES解密
SET block_encryption_mode = 'aes-256-ecb'; SELECT u.`id` AS `id`, u.`username` AS `username`, u.`unionid` AS `unionid`, u.`openid` AS `openid`, CONVERT(AES_DECRYPT(FROM_BASE64(u.`country_code`), '32位秘钥') USING utf8mb4) AS `country_code`, CONVERT(AES_DECRYPT(u.`tel`, '32位秘钥') USING utf8mb4) AS `tel`, CONVERT(AES_DECRYPT(u.`district`, '32位秘钥') USING utf8mb4) AS `district`, CONVERT...
authentic如何把roles返回给sso客户端
在 authentik 中,Role 并不是直接挂在 User 对象上的,而是: User → Group → Role。 所以要想拿到“用户真正拥有的所有 Role”,必须先遍历用户所在的 Group,再把每个 Group 关联的 Role 收集起来并去重。 把你的映射改成下面这样即可(已用你当前可用的变量名 user 和 request.user 做了兼容): # 取用户所在的所有组的所有角色,去重后返回 roles = set() for group in request.user.ak_groups.all(): roles.update(group.roles.all()) return { "_debug_all_attrs": list(user.attributes.ke...