Python中的OpenID Connect提供程序

14
我一直在寻找如何在Python中实现OpenID Connect提供者,我发现Roland Hedberg创建了这个库它被OpenID推荐)。 但是我已经阅读了文档示例,我认为对于没有大量相关知识的人来说,示例过于复杂(混合使用了provider、wsgi和cli)。
所以我的问题是:是否有人知道更简单的实现此库的示例或教程? 或者我应该尝试在OAuth2库的基础上实现自己的提供者?

2
我认为“由OpenID推荐”这个说法有些过于强烈了。他们只是列出了那些被提交给他们的实现。 - Alex Rothberg
3个回答

9

我之前也遇到过这个问题。在OAuthlib上进行开发非常痛苦(Roland库也很难理解),所以我决定从头开始。

django-oidc-provider可以帮助您提供开箱即用的所有端点、数据和逻辑,以添加OpenID Connect功能到您的Django项目中。完全支持Python 3和2,同时也支持最新版本的Django。

GitHub上的查看链接:https://github.com/juanifioren/django-oidc-provider

如果您有任何问题,请随时询问。


4

如果有人发现这个问题,我已经在Authlib上工作了很长时间,之前我创建了Flask-OAuthlib。使用Authlib v0.6+,您可以轻松地在Flask中创建一个OpenID Connect服务(Django集成即将推出)。

以下是您可能需要的一些资源:

  1. GitHub: https://github.com/lepture/authlib(GitHub: https://github.com/lepture/authlib)
  2. OAuth 2示例:https://github.com/authlib/example-oauth2-server(Example on OAuth 2: https://github.com/authlib/example-oauth2-server)
  3. OAuth 2文档:https://docs.authlib.org/en/latest/flask/oauth2.html(Documentation on OAuth 2: https://docs.authlib.org/en/latest/flask/oauth2.html)
  4. OpenID Connect文档:https://docs.authlib.org/en/latest/flask/oidc.html(Documentation on OpenID Connect: https://docs.authlib.org/en/latest/flask/oidc.html)

当有OIDC示例可用时,我会更新答案。



网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接