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