跳转到主要内容

允许用户通过OpenID Connect提供者登录

项目描述

Beta License: AGPL-3 OCA/server-auth Translate me on Weblate Try me on Runbot

此模块允许用户使用授权代码流或隐式流通过OpenID Connect提供者登录。

注意,隐式流不推荐使用,因为它将访问令牌暴露给浏览器和http日志。

目录

安装

此模块依赖于python-jose库,不要与在PyPI上也可用的jose混淆。

配置

Microsoft Azure的设置

使用OpenID Connect隐式流的示例配置。此配置不建议使用,因为它将访问令牌暴露给客户端和日志。

  • 在Azure中配置一个新的Web应用,使用OpenID和隐式流(请参阅提供者文档

  • 在此应用中,重定向URL必须是“<您的服务器URL>/auth_oauth/signin”,当然,此URL应可从Azure访问

  • 在Odoo中创建一个新的身份验证提供者,以下参数(请参阅门户文档以获取更多信息)

  • 提供者名称:Azure

  • 身份验证流程:OpenID Connect

  • 客户端ID:使用Azure端点列表中OAuth2授权端点的值

  • 正文:Azure SSO

  • 身份验证URL:使用Azure端点列表中“OAuth2授权端点(v2)”的值

  • 作用域:openid email

  • 验证URL:使用Azure端点列表中“OAuth2令牌端点(v2)”的值

  • 允许:是

Keycloak的设置

使用OpenID Connect授权代码流的示例配置。

在Keycloak中

  • 配置一个新的客户端

  • 确保授权代码流已启用。

  • 将客户端访问类型配置为“机密”,并在凭据选项卡中记下客户端密钥

  • 配置重定向URL为“<您的服务器URL>/auth_oauth/signin”

在Odoo中,使用以下参数创建一个新的Oauth提供者

  • 提供者名称:Keycloak(或任何您喜欢的名称,以识别您的keycloak提供者)

  • 认证流程:OpenID Connect(授权代码流)

  • 客户端ID:与在Keycloak中配置客户端时输入的相同的客户端ID

  • 客户端密钥:在keycloak的客户端凭据选项卡中找到

  • 允许:是

  • 令牌映射:sub:user_id

  • 正文:登录页面上的链接文本,例如使用Keycloak登录

  • 作用域:openid email

  • 身份验证URL:在Keycloak领域OpenID端点配置中找到的“authorization_endpoint” URL

  • 令牌URL:在Keycloak领域OpenID端点配置中找到的“token_endpoint” URL

  • JWKS URL:在Keycloak领域OpenID端点配置中找到的“jwks_uri” URL

使用方法

在登录页面上,单击您配置的认证提供者。

已知问题/路线图

  • 在登录屏幕上,检查现有令牌并直接登录,无需单击SSO链接

  • 在注销时,还有一个额外的选项可以同时注销SSO提供者。

变更日志

13.0.1.0.0 2020-04-10

  • Odoo 13迁移,添加授权代码流。

10.0.1.0.0 2018-10-05

  • 初始实现

错误追踪器

错误在GitHub问题上追踪。如果遇到问题,请检查那里是否已经报告了您的问题。如果是您首先发现的,请通过提供详细且受欢迎的反馈来帮助我们解决它。

请不要直接联系贡献者以获取支持或技术问题的帮助。

致谢

作者

  • ICTSTUDIO

  • André Schenkels

  • ACSONE SA/NV

贡献者

维护者

本模块由OCA维护。

Odoo Community Association

OCA,即Odoo社区协会,是一个非营利组织,其使命是支持Odoo功能的协作开发并推广其广泛使用。

当前维护者

sbidoul

本模块是GitHub上OCA/server-auth项目的组成部分。

欢迎您贡献力量。要了解如何进行,请访问https://odoo-community.org/page/Contribute

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分发

此版本没有可用的源代码分发文件。请参阅生成分发存档的教程

构建分发

odoo12_addon_auth_oidc-12.0.1.1.0-py3-none-any.whl (41.2 kB 查看哈希值)

上传时间 Python 3

由以下机构支持