首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用oauth2orize提供程序使用ExpressJS保存渗透登录

无法使用oauth2orize提供程序使用ExpressJS保存渗透登录
EN

Stack Overflow用户
提问于 2012-12-02 16:41:12
回答 1查看 835关注 0票数 3

我正在创建一个应用程序,它将使用OAuth2协议提供身份验证,使用该应用的策略为已知的客户端提供服务。

我尝试过同时使用oauth2orizenode-oauth2-provider模块,并不断地达到相同的目的:

  1. 用户通过客户端登录,验证api密钥和api秘密,用户可以通过我的提供者应用程序成功登录。
  2. 在客户端应用程序成功身份验证之后,令牌将被发送回客户端应用程序(用户登录到客户端- yay!),但是用户立即登录到Provider应用程序中。我不知道在哪里,为什么会发生这种情况--这是OAuth2协议的一个特性吗?

这是正常的吗?如果我把Facebook作为一种策略(想想看passport-facebook),那么如果我登录到任何使用Facebook的应用程序,当我被重定向回应用程序时,我仍然会登录Facebook --是我想让客户访问我的应用程序的行为。

这两个提供程序模块都很擅长完成我所寻找的90%的功能,但它们都没有在它们的示例oauth2orize节点-OAuth2-提供程序中提供“持久”登录。我是不是遗漏了什么?

EN

回答 1

Stack Overflow用户

发布于 2012-12-03 20:13:43

嗯,我想我明白了。

我在localhost上运行客户机和服务器,使用不同的端口--而cookie/会话正在相互覆盖。

因此,如果client应用程序运行在http://localhost:3000上,而oauth运行在http://localhost:3001上,则登录oauth并在客户机上创建会话将覆盖提供者上的会话。

解决方案(目前):

代码语言:javascript
复制
# /etc/hosts
127.0.0.1 dev.client.com
127.0.0.1 dev.oauth-provider.com

登录到http://dev.client.com:3000将带我进入http://dev.oauth-provider.com:3001,当用户成功登录并在客户端上创建会话时,提供者仍将登录。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13671346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档