我正在尝试为我的应用程序构建RESTful Web API . 我想知道如何使用OAuth来验证客户端 . 这些客户端将是单页应用程序(SPA)或胖客户端 . 以下是我希望用户体验的方式:
-
用户访问Web应用程序
-
登录页面提供登录按钮(Facebook,Yammer等)
-
用户使用外部OAuth提供程序登录
-
OAuth提供程序将他重定向到返回URL
-
该页面加载并对我的Web API进行API调用
所以几个问题:
-
我可以使用哪些机制注册不同的客户端?
-
SPA Web应用程序如何保留OAuth提供程序发出的访问令牌?
-
我的Web API如何使用提供给SPA Web应用程序的访问令牌并识别用户的详细信息?
附:我打算使用Node.js和Mongoose表达来构建Web API .
1 回答
您可以使用Passport让用户授权服务(Facebook,Twitter等),以便您的Web应用程序可以访问其用户配置文件 .
This answer提供了有关存储OAuth令牌的位置的详细信息 .