附录A. 增强巴科斯-诺尔范式(ABNF)语法(Appendix A. Augmented Backus-Naur Form (ABNF) Syntax)

附录A. 增强巴科斯-诺尔范式(ABNF)语法

本节提供了本文档中定义的元素按RFC5234记法的增强巴克斯诺尔范式(ABNF)的语法描述。下列ABNF用Unicode代码要点[W3C.REC-XML-20081126]的术语定义;这些字符通常以UTF-8编码。元素按首次定义的顺序排列。

一些定义遵循使用来自RFC3986“URI引用”的定义。

一些定义遵循使用这些通用的定义:

 VSCHAR     = %x20-7E
 NQCHAR     = %x21 / %x23-5B / %x5D-7E
 NQSCHAR    = %x20-21 / %x23-5B / %x5D-7E
 UNICODECHARNOCRLF = %x09 /%x20-7E / %x80-D7FF / %xE000-FFFD / %x10000-10FFFF

(UNICODECHARNOCRLF定义基于[W3C.REC-XML-20081126]2.2节中定义的字符,但忽略了回车和换行字符。)

 

Appendix A. Augmented Backus-Naur Form (ABNF) Syntax

   This section provides Augmented Backus-Naur Form (ABNF) syntax
   descriptions for the elements defined in this specification using the
   notation of [RFC5234].  The ABNF below is defined in terms of Unicode
   code points [W3C.REC-xml-20081126]; these characters are typically
   encoded in UTF-8.  Elements are presented in the order first defined.

   Some of the definitions that follow use the "URI-reference"
   definition from [RFC3986].

   Some of the definitions that follow use these common definitions:

     VSCHAR     = %x20-7E
     NQCHAR     = %x21 / %x23-5B / %x5D-7E
     NQSCHAR    = %x20-21 / %x23-5B / %x5D-7E
     UNICODECHARNOCRLF = %x09 /%x20-7E / %x80-D7FF /
                         %xE000-FFFD / %x10000-10FFFF

   (The UNICODECHARNOCRLF definition is based upon the Char definition
   in Section 2.2 of [W3C.REC-xml-20081126], but omitting the Carriage
   Return and Linefeed characters.)

 

A.1. “client_id”语法

“client_id”元素在2.3.1节定义:

 client-id     = *VSCHAR

 

A.2. “client_secret”语法

“client_secret”元素在2.3.1节定义:

client-secret = *VSCHAR

 

A.3. “response_type”语法

“response_type”元素在3.1.1节和8.4节中定义:

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

 

A.4. “scope”语法

“scope”元素在3.3节中定义:

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

 

A.5. “state”语法

“state”元素在4.1.14.1.24.1.2.14.2.14.2.24.2.2.1节中定义:

 state      = 1*VSCHAR

A.6. “redirect_uri”语法

“redirect_uri”元素在4.1.14.1.34.2.1定义:

 redirect-uri      = URI-reference

 

A.7. “error”语法

“error”元素在4.1.2.14.2.2.15.27.28.5中定义:

error             = 1*NQSCHAR

A.8. “error_description”语法

“error_description”元素在4.1.2.14.2.2.15.27.2中定义:

 error-description = 1*NQSCHAR

A.9. “error_uri”语法

“error_uri”元素在4.1.2.14.2.2.15.27.2中定义:

 error-uri         = URI-reference