RFC6749中关于OAuth2的scope = scope-token *(SP范围标记)scope-token = 1 *(%x21 /%x23-5B /%x5D-7E)的含义是什么

时间:2016-02-23 08:58:01

标签: oauth oauth-2.0 rfc6749


是什么意思 scope = scope-token *( SP scope-token ) scope-token = 1*( %x21 / %x23-5B / %x5D-7E )

<{3>}中的

3 个答案:

答案 0 :(得分:6)

所以我解释这个的方式是

scope-token = 1*( %x21 / %x23-5B / %x5D-7E )

似乎是说 scope-token 可以是定义的十六进制字符范围中的1个或多个ascii字符。所以基本上是x21(!)到x7E(〜)但不允许使用x22(“)和x5C(\)。请参阅here以获取字符及其十六进制代码列表。

scope = scope-token *( SP scope-token )

建议范围范围标记(如上所定义),附加零或多个SP scope-tokens,其中SP是空格字符。

因此有效的范围字符串将是:

scope = i am 5 scopes !!!!

但这些不是有效的范围字符串:

scope = "scope1" "scope2" "scope3"
scope = scope1\scope2\scope3

答案 1 :(得分:2)

表达式为ABNF

RFC6749 8.1. Defining Access Token Types提及它。

答案 2 :(得分:0)

我正在JavaScript代码段中使用此正则表达式来测试OAuth2服务器实现上错误响应的error_description值,因为error_description还需要按照规范要求这些字符约束:{{3 }}

const regex = /1*[\x21\x23-\x5B\x5D-\x7E]/g