python-127-KeyCloak学习之(一)开源身份认证服务器Keycloak安装使用

python-127-KeyCloak学习之(一)开源身份认证服务器Keycloak安装使用
文章目录1 Keycloak1.1 Keycloak简介1.1.1 核心功能与特性1.1.2 核心概念1.1.3 应用场景1.1.4 优势与局限1.2 docker启动keycloak1.3 创建Realm和Client1.3.1 第一步:创建Realm(领域)1.3.2 第二步:创建Client(客户端)1.3.3 第三步:获取密钥(重要)2 python连接keycloak2.1 获取元数据2.1.1 基础与端点信息(Endpoints)2.1.2 支持的授权模式与响应类型2.1.3 安全与加密算法支持2.1.4 客户端认证方式2.1.5 用户信息与作用域2.2 获取token(客户端凭证模式)2.3 获取token(用户密码模式)2.4 两种Payload对比2.4.1 密码模式(Password Grant)2.4.2 客户端凭证模式 (Client Credentials Grant)2.4.3 总结(授权码模式)介绍并安装KeyCloak,使用两种模式获取token,客户端凭证模式和用户密码模式,借助密码模式的缺点引出更主流的授权码模式。1 Keycloak使用Keycloak(最推荐,业界标准)。Keycloak是目前最流行的开源身份认证服务器,启动后会自动生成并提供完整的.well-known/openid-configuration端点。1.1 Keycloak简介Keycloak是一款由Red Hat主导的开源身份与访问管理(IAM,Identity and Access Management‌)解决方案,专为现代应用程序和服务设计。它的核心目标是让开发者无需自建复杂的认证系统,就能轻松为Web、移动或后端服务添加安全的身份验证和授权功能。1.1.1 核心功能与特性(1)单点登录(SSO):用户只需登录一次,即可无缝访问同一Realm(领域/租户)下的多个应用程序,登出时也会同步登出所有应用。(2)多协议支持:完整支持OAuth 2.0、OpenID Connect(OIDC)和SAML 2.0等标准协议,能够与各种现代及传统系统轻松集成。(3)身份代理与社交登录:支持将外部身份提供商(如Google、GitHub、Facebook或企业级SAML IdP)作为登录选项,无需修改应用代码即可实现社交账号登录。(4)用户联邦(User Fed