首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >OAuth服务和官方客户支持

OAuth服务和官方客户支持
EN

Stack Overflow用户
提问于 2013-04-29 07:13:21
回答 1查看 211关注 0票数 0

我在试着理解OAuth,我很难弄清楚这件基本的事情.

我开发了一个服务(使用Python和Flask),它通过专门的登录和密码组合支持经典身份验证,并以webapp的形式开发了一个“正式”客户端。我希望我的服务支持OAuth,并查看烧瓶-oauthprovider,这似乎非常适合这项任务,但我似乎无法理解所有的东西应该如何表达。

我的问题是:

  1. 今天,我的所有API入口点都要求用户登录:一旦我的服务支持OAuth,每个入口点应该变成"oauth_required“而不是"login_required”吗?
  2. 支持我的“官方”webapp前端的正确方法是什么?我不想让它通过常规的OAuth流(通过额外的重定向来登录服务)。应该使用自动授予的访问令牌通过OAuth,还是应该绕过OAuth直接使用“资源所有者”登录和密码?
EN

回答 1

Stack Overflow用户

发布于 2013-04-29 13:06:17

我认为oauthlib背后的概念的一个问题是,它太难成为所有的东西,其结果是一组难以推理的抽象(这与python-oauth2方法非常相似)。特别是OAuth提供程序是很棘手的,因为您需要隐式地持久化诸如令牌之类的东西,更不用说某种预存用户管理的假设了。因此,从一个框架到另一个框架,“好的”或惯用的实现往往更加固执己见。在我看来,这也是为什么我们不把一个provider实现看作是一个抽象的部分原因:没有很好的解决方案,但是有很多混乱的解决方案。看看烧瓶-oauthprovider,我们会看到这些问题的一些直接例子。我也有过类似的问题,烧瓶登录,我维护。无论如何,在过去的这个周末,我写了一个非常粗略的瓶中的OAuth提供者第一关,它“只是有效的”;可以随意地查看并使它适应您的需要。它假设了一些类似于MongoDB之类的东西,但只要工作最少,我认为可以使用任何数据存储。

1)保护您希望通过第三方访问的任何端点,例如您的公共API。

2)我将避免自动访问令牌,这将击败在每个用户的基础上协商授权的人,当然,除非您有不同的方案,例如预先定义的一组客户端。我相信你说的第二个选择是xauth,在这种情况下,为什么不直接使用OAuth 2.0和grant_type=password呢?承载令牌在概念上是相似的,但只要您能够提供HTTPS,实现起来就会容易一些。

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

https://stackoverflow.com/questions/16273076

复制
相关文章

相似问题

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