M2M场景之客户端凭证模式|OIDC & OAuth2.0 认证协议最佳实践系列 【4】

在前两篇文章中,我们介绍了 OIDC 授权码以及授权码增强的 PKCE 模式,本次我们将重点围绕 (Client Credentials) 模式进行讲解 ,Client Credentials 模式是 OIDC 授权模式之一,它是一种用于客户端(应用程序)以自己的名义向 OIDC 服务端获取访问令牌(access token)的认证授权模式,常用于保护 API 或物联网场景。

Authing是国内唯一以开发者为中心的全场景身份云产品,提供 1000+ API 和所有主流语言 SDK,拥有数十万开发者的社区生态。

01.客户端凭证模式(Client Credentials)

Client Credentials 模式用于进行服务器对服务器间的授权(M2M 授权),期间没有用户的参与。你需要提前创建编程访问账号,并将 AK、SK 密钥对交给你的资源调用方,需要注意的是,各厂商对此实现有所不同,例如 Okta 和 Auth0 对于 Client Credentials 的实现是将 Client ID 和 Client Secret 交给调用方,Authing 则是在应用下创建编程访问账号后将 AK/SK 交给调用方,调用方使用起来并没有什么不同,Authing 的方式更加适合在一个应用下有多个调用方进行管理。

⚠️ Client Credentials 模式不支持 Refresh Token。

整体上,有以下流程:

1.资源调用方将他的凭证 AK、SK 以及需要请求的权限 scope 发送到 Authing 授权端点。

2.如果凭证正确,并且调用方具备资源权限,Authing 为其颁发 AccessToken。

3.调用方携带 access_token 请求资源服务器。

4.资源服务器验证 Token 通过后,返回相关资源。

流程图如下:

1.1 准备接入

1.1.1 在 Authing 创建应用及配置

老样子,需要先在 Authing 创建应用。

配置授权模式

创建编程访问账号 ,交给你 API 的调用方

1.1.2 在 Auhing 定义权限,并对 AK SK 账号进行授权

注:在用户认证时 scope 所对应的是用户信息,在 AK/SK 获取 Token 时,scope 应该对应的是被授权的 API 权限。

1.1.2.1 Scope 权限规范

Authing 的 scope 权限项目以空格分隔,每一项的格式是

资源:资源标识符:资源操作

资源:资源标识符:资源操作。

以下是 Authing 支持的所有 scope 格式:

1、含义为编号为 1 的书籍资源的读取权限

book:1:read

2、含义为所有书籍资源的读取权限

book:*:read
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值