令牌:Plus 运算符从访问令牌中删除
Token: Plus operator removed from access token
我用访问令牌创建了一个 URL。当我打开 URL 时,+ 运算符从后端端点的令牌中删除了空格。有人可以帮我知道为什么会这样吗?下面是我的 URL 和令牌。
api/meeting?token=wf+hbRFOp/fI5jSsZ0KT9K7lkvZSJLUHyc8yy6TI9HE2HdEx0WXAqWxEUjQL/6vX
在控制器级别,收到的令牌为 wf hbRFOp/fI5jSsZ0KT9K7lkvZSJLUHyc8yy6TI9HE2HdEx0WXAqWxEUjQL/6vX
。
When I open the URL, the + operator get removed with white-space from the token at backend end-points.
是的,那是因为在 URL 中,+
用于表示 space。我怀疑您的令牌实际上是一个 base64 编码的值 - 您应该使用 URL-safe base64 decodabet 而不是直接将常规 base64 值直接放入查询中。如果您必须 使用常规的 base64,则需要将 +
字符转义为 %2B
。我建议使用 HttpUtility.UrlEncode
来做到这一点。
我用访问令牌创建了一个 URL。当我打开 URL 时,+ 运算符从后端端点的令牌中删除了空格。有人可以帮我知道为什么会这样吗?下面是我的 URL 和令牌。
api/meeting?token=wf+hbRFOp/fI5jSsZ0KT9K7lkvZSJLUHyc8yy6TI9HE2HdEx0WXAqWxEUjQL/6vX
在控制器级别,收到的令牌为 wf hbRFOp/fI5jSsZ0KT9K7lkvZSJLUHyc8yy6TI9HE2HdEx0WXAqWxEUjQL/6vX
。
When I open the URL, the + operator get removed with white-space from the token at backend end-points.
是的,那是因为在 URL 中,+
用于表示 space。我怀疑您的令牌实际上是一个 base64 编码的值 - 您应该使用 URL-safe base64 decodabet 而不是直接将常规 base64 值直接放入查询中。如果您必须 使用常规的 base64,则需要将 +
字符转义为 %2B
。我建议使用 HttpUtility.UrlEncode
来做到这一点。