首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Symfony 2 RESTful接口OAuth2

Symfony 2 RESTful接口OAuth2
EN

Stack Overflow用户
提问于 2016-09-20 02:55:27
回答 1查看 430关注 0票数 0

我有两个app:

1个应用程序-主应用程序(CMR) 2个应用程序-网站

主要目标是使用OAuth2从1个应用连接到2个应用;

1个应用程序实现了FOSOAuthServerBundle,但不存在一个oauth2客户端。

问题是我不能生成oauth2客户端,因为用户只知道用户名/密码凭证。

在第一步,用户提交登录表单-然后,在某种程度上,我需要从用户凭据生成令牌。

我是否可以使用与用户用户名/密码相同的id和密码安全地生成oauth2客户端?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-20 14:01:08

用户不需要知道client_id和client_secret。实际上,除了应用程序2之外,任何人都不知道它们是不安全的。客户端凭据(client_id、client_secret)是在身份验证服务器中生成的。然后,应用程序2开发人员获得此客户端凭据,并将其存储在只有应用程序2才能访问它们的位置(如应用程序2配置文件或应用程序2数据库)。在此之后,当用户想要登录时,他只提供用户名和密码,应用程序2将它们封装在对身份验证服务器的token API的API调用中,并使用授权类型' password‘和想要的作用域。

但这只触及了auth2的皮毛。如果您将第三个应用程序添加到您的网络,并且希望A2和A3使用由A1生成的令牌进行安全通信,那么您将需要A1中的introspect API,甚至需要使用签名的JWT。

长话短说,FOSOAuthServerBundle是一个很好的开始,但从长远来看,你需要投入大量的工作。这里有一些指导你的材料。

Auth2 rfc:https://www.rfc-editor.org/rfc/rfc6749

令牌自省rfc:https://tools.ietf.org/search/rfc7662

签名JWT:https://jwt.io

还可以查看openId、基于角色的访问控制、ACL。这在某种程度上也会派上用场。

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

https://stackoverflow.com/questions/39580207

复制
相关文章

相似问题

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