服务提供商

endi-oidc-provider的Python项目详细描述


这项工作仍在进行中。

基于endi(http://endi.coop)打开id连接提供程序。

只支持授权代码流

开始

  • 包含此文件的cd<;目录>;
  • $venv/bin/pip安装-e。
  • $venv/bin/初始化odic提供者db development.ini
  • $venv/bin/pserve development.ini

授权处理

生成新客户端的密钥:

oidc-manage <config_uri> clientadd --client=<client> --uri=<redirect_uri> --scopes=<scopes> --cert_salt=<cert_salt>

配置uri:您的ini文件

客户:客户的标签

重定向uri:openid connect规范中描述了重定向uri(在授权步骤中传递的规范)

作用域:应用程序正在请求的作用域(至少应该提供openid作用域),例如:“openid profile”

cert_salt:一个salt随机密钥,用于加密数据库中的客户端机密

在生成client_id和client_secret之后。客户端应用程序能够请求身份验证。

授权端点

客户端应用程序可以调用授权url:

https://myoidc_provider.com/oidc/authorize

它允许:

  • Authenticate a user
  • Get an Authorization code in the response

令牌url

在后台调用时,可在以下URL访问令牌终结点:

https://myoidc_provider.com/oidc/token

招标书:https://tools.ietf.org/html/rfc6749#section-2.3.1

描述客户端密码传输方法。

支持的客户端身份验证方法:

  • 通过请求头:支持基本身份验证令牌
  • 通过请求post参数:然后需要client_id和client_密钥

在您得到的响应中:

  • An access token with mandatory informations
  • An id_token JWS encrypted as described in the spec
  • Since we use code flow, the id_token also returns the at_hash access_token identification key

ENDI集成

在ENDI的INI文件中添加以下内容:

pyramid.includes =
                    ...
                    endi_oidc_provider
                    ...

(用于模型注册,以便数据库启动初始化表)

并添加以下内容:

endi.includes =
                    ...
                    endi_oidc_provider.plugin
                    ...

注册oidc客户端应用程序配置ui:

  • 路线
  • 视图
  • 遍历树分支
  • 模板API资料
  • 模板
  • 菜单项

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在Mollweide投影中获取我的世界地图中一个点的经度   java比较二维数组   java JUNG无法显示大型图形?   java jvm是否保证在切换线程后更新处理器缓存?   java为什么在使用FetchType时会出现LazyInitializationException异常。在一组上懒惰,但在另一组上不懒惰?   从json数据创建java模型   java更新复合组件?   java在具有不同长度的第二维度的2D数组中迭代   使用RESTfulWebService将数据从UI存储到数据库   JTextfield中的java转义字符   java如何修复:Lombok builder()方法在IntelliJ中似乎无法识别?   java Spring MVC控制器如何处理多个长http请求?   java JavaFX:TableView onEditCommit处理程序从未被调用