1

对于服务器生成的和客户端生成的挑战,以下字符串是不同的:

  • +->-
  • /->_
  • =-> (空白处)

为什么我们需要做替换来解决这个问题?

源代码供参考。

4

1 回答 1

1

看起来它是普通 Base64 编码和 Base64 URL 之间的区别,以及填充与无填充选项(尾随=s)之间的区别。与前者相反,后者在 URL 中使用是安全的。另请参阅https://en.wikipedia.org/wiki/Base64#URL_applications

Webauthn 需要使用 Base64 URL 编码,而某些功能(例如 javascriptatobbtoa)使用纯 Base64 编码方案,因此需要从一种转换为另一种。

于 2019-05-30T13:17:41.060 回答