OAuth 2.0 - 可扩展性


有两种方法可以定义访问令牌类型 -

  • 通过在访问令牌类型的注册表中注册。

  • 通过使用唯一的绝对 URI(统一资源标识符)作为其名称。

定义新端点参数

参数名称必须遵循 param-name ABNF(增强巴科斯范式是一种基于巴科斯范式的元语言,由自己的语法和推导规则组成),并且参数值的语法必须定义良好。

param-name = 1* name-char
name-char = "-" / "." / "_" / DIGIT / ALPHA

定义新的授权授予类型

在“grant_type”参数的帮助下,新的授权授予类型可以分配一个不同的绝对 URI 来使用。如果扩展授权类型需要其他令牌端点参数,则必须在 OAuth 参数注册表中注册。

定义新的授权端点响应类型

response-type = response-name *(SP response-name)
response-name = 1* response-char
response-char = "_" / DIGIT / ALPHA

如果响应类型具有一个或多个空格字符,其中值的顺序无关紧要,并且只能注册一种值顺序,则响应类型将作为以空格分隔的值列表进行比较。

定义附加错误代码

如果扩展错误代码使用的扩展是注册的访问令牌或注册的端点参数,则必须注册扩展错误代码。错误代码必须遵循错误 ABNF(增强巴科斯-诺尔范式),并且在可能的情况下,应以识别它的名称为前缀。

error = 1 * error_char
error-char =  %x20-21 / %x23-5B / 5D-7E