如何退出Synology SSO Server(OIDC)?JS SDK登录遇错求助
Synology SSO Server (OIDC) 退出登录实现及JS SDK登录报错解决
一、退出登录实现
Synology SSO Server的OIDC退出端点未在.well-known/openid-configuration中暴露,但可通过以下方式实现注销:
调用SSO会话注销接口
直接请求Synology SSO的会话注销接口,需确保请求携带当前用户的SSO会话Cookie(SSO会话基于Cookie维护):GET https://<MY-NAS>/webman/sso/SSOSession.cgi?action=logout调用后NAS端的SSO会话会被清除,同时请同步清除你的应用自身的用户会话。
结合OIDC标准注销流程(可选)
若你的应用持有用户的id_token,可尝试构造标准OIDC注销请求,传入id_token_hint参数至授权端点(经用户测试可行):GET https://<MY-NAS>/webman/sso/SSOOauth.cgi?action=logout&id_token_hint=<USER_ID_TOKEN>&post_logout_redirect_uri=<YOUR_LOGOUT_REDIRECT_URI>注意:
post_logout_redirect_uri必须在SSO应用配置的允许重定向URI列表内。
二、JS SDK登录报错解决
Invalid SSO client application错误源于JS SDK应用配置与普通OIDC应用不兼容:
- 需在Synology SSO的应用列表中创建专门的“JavaScript应用”,而非普通OIDC应用。
- 创建后会生成专属的
app_id(区别于普通OIDC应用的client_id),必须使用该app_id发起JS SDK请求。 - 检查请求URL中的
redirect_uri是否与应用配置完全一致,包括协议、域名、路径,避免多余斜杠(如你的请求中//webman需修正为/webman)。
内容的提问来源于stack exchange,提问作者Nico
相关产品推荐
相关产品推荐

