Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何为web和移动设备构建通用api并使用oauth进行身份验证_Node.js_Api_Rest_Mobile_Oauth - Fatal编程技术网

Node.js 如何为web和移动设备构建通用api并使用oauth进行身份验证

Node.js 如何为web和移动设备构建通用api并使用oauth进行身份验证,node.js,api,rest,mobile,oauth,Node.js,Api,Rest,Mobile,Oauth,我正在尝试构建公共API,我计划使用各种移动原生应用程序和网站。如果要使用FacebookOAuth对用户进行身份验证,我应该如何设计API?在网站和手机上提供相同内容的最佳实践和行业标准是什么?我正在使用node.js和mongodb。我可以使用passport.js对网站用户进行身份验证,但如何为网站和手机构建通用web API,以及使用facebook(或任何其他oauth提供商)对用户进行身份验证 花了很多时间在谷歌上搜索,但找不到任何有用的指南。请帮忙 回答的前奏:我想澄清一下在上下文

我正在尝试构建公共API,我计划使用各种移动原生应用程序和网站。如果要使用FacebookOAuth对用户进行身份验证,我应该如何设计API?在网站和手机上提供相同内容的最佳实践和行业标准是什么?我正在使用node.js和mongodb。我可以使用passport.js对网站用户进行身份验证,但如何为网站和手机构建通用web API,以及使用facebook(或任何其他oauth提供商)对用户进行身份验证


花了很多时间在谷歌上搜索,但找不到任何有用的指南。请帮忙

回答的前奏:我想澄清一下在上下文中认证和授权是什么意思。让我们来处理这里的聚会吧

  • 用户。第一方
  • 中间应用程序/供应商。第三方
  • 身份验证结束点。Oauth提供者。第二方
授权是指Oauth允许第三方访问/使用您的数据(3-2)。身份验证是指用户由身份验证端点直接验证(1-2)

每个Oauth提供商(facebook、谷歌、facebook)都有自己的授权策略。那么如何应对呢。拥有自己的数据库和API

  • 用户登录(使用facebook)
  • 检查用户ID,如果存在授权/获取令牌,则要求用户注册应用程序
  • 登录成功后
  • 那么如何构建公共API呢?创建自己的数据库,并将其用作用户详细信息的代理/镜像。根据您的要求,像桥梁一样使用授权

                            /-------Oautha(2)
        User(1) ------ App(3) ------Oauthb(2) 
                            \-------Oauthc(2)
                                    depending on registered email       (party)