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