node.js - Passport.js Synology SSO 策略

标签 node.js passport.js synology

我发现 Synology 为其 Diskstation 提供了单点登录套件,该套件提供了用于身份验证的 OAuth 接口(interface)。 (参见https://global.download.synology.com/download/Document/DeveloperGuide/Synology_SSO_API_Guide.pdf)

我想在我的node.js应用程序中实现这一点,该应用程序在diskstation上运行以对用户进行身份验证。

有人知道如何为此实现 Passport.js 策略吗?或者是否有其他 Node.js 解决方案?

提前致谢!

最佳答案

FWIW 我已经实现了一些与 Synology 的 SSO 服务器集成的 node.js+react 代码。

你可以看到我的实现 here - 欢迎您将其集成到您的代码中。

简而言之 - 客户端 API 是:

https://my_dsm:5001/webman/sso/SSOOauth.cgi?scope=user_id&redirect_uri=--redirect_uri-here--&synossoJSSDK=false&app_id=--appid_here--

以及 token 交换 API(在服务器端),假设客户端 token 为:

https://my_dsm:5001/webman/sso/SSOAccessToken.cgi?action=exchange&app_id=--appid_here--&access_token=--token_here--

还有一个注销 API,尽管它似乎没有做任何有用的事情。

关于node.js - Passport.js Synology SSO 策略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53658486/

相关文章:

javascript - 在 node js 服务器的终端中无法识别 nodemon 命令

javascript - 'idea' 是否可以防止异步/等待的嵌套 promise ?

javascript - console.log 和 node.js 中的重定向不起作用?

python - 如何解决Apache2日志中的: ImportError: No module named django. core.wsgi?

node.js - 如何将 Node.js WebSocket 服务器部署到 Amazon Elastic Beanstalk?

node.js - NodeJS Express : #<Object> has no method 'parse'

javascript - 将使用 'passport' 创建的 javascript var 传输到 Express 路由器

node.js - 服务器重启后经过身份验证的用户注销

tomcat - 如何在 Synology 上设置 Tomcat 7

linux - 无法运行脚本