我们正在使用 oidc-client。客户端设置授权类型是授权码。但是,我发现我的授权码使用了 PKCE。因为我可以在没有客户端机密的情况下使用它,并且在 uri 上有 code_challenge。我正在查看它的设置方式,但找不到。
我只想知道现在带有 PKCE 的 AuthCode 是否是默认的。如果我错了,请纠正我,当您没有在 oidc-client 中设置将使用 PKCE 时,您应该使用需要客户端密码的普通身份验证代码?
这是我的客户:
const image = await ImagePicker.openPicker({
height: 385,
maxFiles: 6,
minFiles: 3,
mediaType: 'photo',
multiple: true,
width: 1000,
}).then(image => {
console.log('imahge', image);
let images = [];
images = images;
image.forEach((ele, i) => {
images.push(ele.path);
});
setImages(images);
console.log('all', images);
});
} catch (error) {
console.log('Error:', error);
}
```
}
答案 0 :(得分:0)
如果确实是默认行为,那就太好了。使用 PKCE 没有任何缺点,如果可能,您应该始终使用它。 PKCE 为流程添加了另一层安全性,它不会阻止您使用客户端的机密。此外,如果授权服务器不支持 PKCE,它应该忽略参数,因此授权服务器是否使用 PKCE 对您的客户端来说并不重要。