OAuth 客户端密钥轮转
当客户端密钥过期时,客户端不能再使用 Identity Management Service 进行身份验证。因此,客户端密钥必须被及时更新。
这部分描述了如何在不停机的情况下更新客户端密钥。
引入一个新的密钥
为了避免停机,在 MindSphere中,一个新的客户端密钥应在旧的密钥过期前引入。这两个密钥是并行存储的,允许客户端在密钥轮转期间继续使用旧的密钥。新密钥可以由用户生成,也可以由 MindSphere 生成。
以下 REST 调用引入了一个新的用户生成的密钥。触发 MindSphere,让新密钥的数据输入为空 (-d '{}'
),从而生成新的密钥。
curl -X POST \
-H 'Current-Secret: {active secret}' \
-H 'Authorization: Bearer {token with prv.oc.sec.ch scope}' \
-H 'Content-type: application/json' \
-d '{
"newSecret": "{new secret to introduce}"
}' \
'.../provider/oauth/clients/{clientId}/secrets'
使用新的密钥升级客户端
升级所有的客户端并确保他们使用新的密钥。
移除旧的密钥
Identity Management Service 可以为每个客户端处理最多两个密钥。但是,我们建议一次只使用一个,并在密钥轮转之后删除旧的密钥。以下的 REST 调用删除了旧的密钥,从而使其无效:
curl -X DELETE \
-H 'Current-Secret: {active secret}' \
-H 'Authorization: Bearer {token with prv.oc.sec.ch scope}' \
'.../provider/oauth/clients/{clientId}/secrets'
还有问题?
除非另行声明,该网站内容遵循MindSphere开发许可协议.
Last update: June 26, 2019