Django / tastypie实现中的OAuth 2.0客户端ID

用户名

我正在尝试为我的API实现OAuth 2.0。我使用第三方库充当基本的OAuth提供程序,使用django-oauth2-provider,并使用Tastypie作为框架。这些细节不应该太重要。OAuth 2.0可以正常工作-创建用户时,将管理用户的secret_key及其ID的OAuth 2客户端创建。然后,客户可以提供从用户创建端点返回的用户ID以及用户名和密码,以获取允许他们使用API​​端点的访问令牌。

我遇到问题的地方是检索客户端ID(必须将其传递到访问令牌的请求中)。显然,当首次创建用户时,我可以返回带有HTTP响应的client_id。但是,此后,显然会出现用户没有在本地存储其客户ID的情况(这是传统的用户/应用设置,而不是像Google API这样的东西,您的客户ID总是可见的)。我想使用OAuth保护对客户资源的GET请求,但这意味着我无法为给定用户的客户ID查询API。如果我总是可以仅传递用户名和密码来从某个oauth端点检索我的客户端ID,似乎OAuth的全部观点都被击败了。我在想这个错误吗?

另外,通过阅读OAuth规范,我给人的印象是,应提供客户机ID和客户机机密才能获得访问令牌。但是我使用的实现默认是强制用户提供客户端ID,客户端机密,用户名和密码。我已经重写了实现,只要求提供客户机ID和密码,但是我想确保这是正确的调用,并且我没有丢失任何内容。

编辑flup的响应:

我正在将Django API作为资源服务器,并将iPhone应用程序的用户作为资源所有者。iPhone应用程序直接与服务器相关联-换句话说,这里没有第三方参与,也没有计划在将来与他们合作。所有软件都是我们的。我认为那种情况下需要密码流。确实,这似乎是django-oauth2-provider默认提供的。我想在某种程度上与他们所做的保持一致,而不必完全重新发明轮子。

拍打

oauth2的目标是让资源所有者为客户提供代客密钥,该代客密钥授权该代客密钥代表客户访问您服务器上的某些资源。

如果没有第三方参与,则无需授权客户端,也无需使用oauth2。

相反,您可以使用tastypie中存在标准身份验证机制

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Chrome应用程序Picasa身份:OAuth2请求失败:服务响应并显示错误:“错误的客户端ID:{0}”

来自分类Dev

Spring Security OAuth 2和客户端凭证流

来自分类Dev

如何使用Oauth2和javascript客户端实现长期登录会话(Spring Oauth2 + Angularjs)

来自分类Dev

在Apache CXF中为客户端凭据OAuth 2流散列客户端机密

来自分类Dev

客户端验证在Django中是必需的吗?

来自分类Dev

在setUpClass中访问Django测试客户端

来自分类Dev

Spring OAuth2-无法获取客户端令牌

来自分类Dev

了解OAuth 2.0中客户端ID和客户端密码的需求

来自分类Dev

Spring Boot + Oauth2客户端凭据

来自分类Dev

Firebase不断在服务器配置中抛出OAuth2客户端ID

来自分类Dev

OAuth2客户端,已完成,从未调用

来自分类Dev

在更新Android oAuth2客户端ID的SHA-1指纹时出现重复指纹错误

来自分类Dev

Quarkus Rest客户端和OAuth2

来自分类Dev

Spring Security,OAUTH2,动态客户端秘密

来自分类Dev

OAuth2客户端身份验证春季

来自分类Dev

Spring Security OAuth 2和客户端凭证流

来自分类Dev

如何在Django中创建客户端?

来自分类Dev

在Apache CXF中为客户端凭据OAuth 2流散列客户端机密

来自分类Dev

带有Spring的OAuth2的Android客户端

来自分类Dev

从Android客户端获取django OAuth2工具包访问令牌

来自分类Dev

获取symfony2中的客户端ip和客户端位置

来自分类Dev

OAuth2错误无效的客户端

来自分类Dev

OAuth2客户端,已完成,从未调用

来自分类Dev

了解OAuth2中的客户端

来自分类Dev

oauth2通过提供的客户端ID /密码通过db获取受信任的第三方客户端的访问令牌

来自分类Dev

如何从 Django 请求中获取 oauth2 客户端应用程序

来自分类Dev

OAuth2 客户端 ID 和客户端密钥的安全性

来自分类Dev

没有客户端密码的 OAuth2 工具

来自分类Dev

客户端补丁在 django 测试中给出 400 错误

Related 相关文章

  1. 1

    Chrome应用程序Picasa身份:OAuth2请求失败:服务响应并显示错误:“错误的客户端ID:{0}”

  2. 2

    Spring Security OAuth 2和客户端凭证流

  3. 3

    如何使用Oauth2和javascript客户端实现长期登录会话(Spring Oauth2 + Angularjs)

  4. 4

    在Apache CXF中为客户端凭据OAuth 2流散列客户端机密

  5. 5

    客户端验证在Django中是必需的吗?

  6. 6

    在setUpClass中访问Django测试客户端

  7. 7

    Spring OAuth2-无法获取客户端令牌

  8. 8

    了解OAuth 2.0中客户端ID和客户端密码的需求

  9. 9

    Spring Boot + Oauth2客户端凭据

  10. 10

    Firebase不断在服务器配置中抛出OAuth2客户端ID

  11. 11

    OAuth2客户端,已完成,从未调用

  12. 12

    在更新Android oAuth2客户端ID的SHA-1指纹时出现重复指纹错误

  13. 13

    Quarkus Rest客户端和OAuth2

  14. 14

    Spring Security,OAUTH2,动态客户端秘密

  15. 15

    OAuth2客户端身份验证春季

  16. 16

    Spring Security OAuth 2和客户端凭证流

  17. 17

    如何在Django中创建客户端?

  18. 18

    在Apache CXF中为客户端凭据OAuth 2流散列客户端机密

  19. 19

    带有Spring的OAuth2的Android客户端

  20. 20

    从Android客户端获取django OAuth2工具包访问令牌

  21. 21

    获取symfony2中的客户端ip和客户端位置

  22. 22

    OAuth2错误无效的客户端

  23. 23

    OAuth2客户端,已完成,从未调用

  24. 24

    了解OAuth2中的客户端

  25. 25

    oauth2通过提供的客户端ID /密码通过db获取受信任的第三方客户端的访问令牌

  26. 26

    如何从 Django 请求中获取 oauth2 客户端应用程序

  27. 27

    OAuth2 客户端 ID 和客户端密钥的安全性

  28. 28

    没有客户端密码的 OAuth2 工具

  29. 29

    客户端补丁在 django 测试中给出 400 错误

热门标签

归档