我想开发一个使用 nextcloud 用户帐户的应用程序(NodeJS、vueJS、postgreSQL)。这个想法是用户使用他的 nextcloud ID 进行身份验证,然后可以访问 nextcloud 和我的网站。请注意,我的应用程序不是 nextcloud 模块或 nextcloud 应用程序。这是一个完整的网站,但我想基于 nextcloud 来识别用户
我在网上做了一些研究,但我没有找到一个简单的解释来说明如何去做……这可能吗?
奥利维尔
我想开发一个使用 nextcloud 用户帐户的应用程序(NodeJS、vueJS、postgreSQL)。这个想法是用户使用他的 nextcloud ID 进行身份验证,然后可以访问 nextcloud 和我的网站。请注意,我的应用程序不是 nextcloud 模块或 nextcloud 应用程序。这是一个完整的网站,但我想基于 nextcloud 来识别用户
我在网上做了一些研究,但我没有找到一个简单的解释来说明如何去做……这可能吗?
奥利维尔
您可以采用几种不同的方法通过 nextcloud 实例中的帐户对外部应用程序的用户进行身份验证。这些包括:
使用 OAuth 2.0 将允许您的网站通过您的 nextcloud 实例在外部对用户进行身份验证。
以下是在您的情况下的工作方式:
nextcloud-instance-address/index.php/apps/oauth2/authorize
同时使用客户端标识符标识自己your-instance-address/index.php/apps/oauth2/api/v1/token
) 。您的网站获取访问令牌作为响应。nextcloud-instance-address/index.php/ocs/v2.php/cloud/user?format=json
将访问令牌存储在基于 cookie 的会话中是个好主意。
设置非常简单(至少在 nextcloud 实例一侧) - 您必须在 nextcloud 管理员帐户的管理员安全设置部分添加您的网站。您必须指定您的网站在成功登录后用于检索请求令牌的重定向 URI。客户端密钥和客户端标识符都将在 nextcloud 的管理面板中为您生成。
本教程将帮助您在 node.js 中创建 webiste 的后端。在您的情况下,消费者是您的网站,服务提供商是您的下一个云实例。
随意询问是否有不清楚的地方。祝你好运,编码愉快!