名前の例 | 説明 | 使われる場所 | RFC |
---|---|---|---|
username@domain.example.com | メールアドレス | RFC5322 (Google翻訳) | |
username@realm.example.com | Network Access Identifier (NAI) | RADIUSなど | RFC7542 (Google翻訳) |
NETBIOS-NAME\USERNAME | NTドメイン、Active Directory | ||
username@upn-suffix.example.com | User Principal Name (UPN) | Active Directory | |
UID=jsmith,DC=example,DC=net | Distinguished Name (DN) | LDAP | RFC4514 (Google翻訳) |
メールアドレス
RFC5322 Section 3.4.1 (Google翻訳) のaddr-specの定義より抜粋します。
addr-spec = local-part "@" domain
local-part = dot-atom / quoted-string / obs-local-part
domain = dot-atom / domain-literal / obs-domain
domain-literal = [CFWS] "[" *([FWS] dtext) [FWS] "]" [CFWS]
dtext = %d33-90 / ; Printable US-ASCII
%d94-126 / ; characters not including
obs-dtext ; "[", "]", or "\"
FWSはfolding white space, CFWSはコメントやFWSが発生する場所を表します。以下RFC5322 Section 3.2.2 (Google翻訳) より抜粋します。
FWS = ([*WSP CRLF] 1*WSP) / obs-FWS
; Folding white space
ctext = %d33-39 / ; Printable US-ASCII
%d42-91 / ; characters not including
%d93-126 / ; "(", ")", or "\"
obs-ctext
ccontent = ctext / quoted-pair / comment
comment = "(" *([FWS] ccontent) [FWS] ")"
CFWS = (1*([FWS] comment) [FWS]) / FWS
NAI
RFC7542 Section 2.2 (Google翻訳) のnaiの定義より抜粋します。
nai = utf8-username
nai =/ "@" utf8-realm
nai =/ utf8-username "@" utf8-realm
utf8-username = dot-string
dot-string = string *("." string)
string = 1*utf8-atext
utf8-atext = ALPHA / DIGIT /
"!" / "#" /
"$" / "%" /
"&" / "'" /
"*" / "+" /
"-" / "/" /
"=" / "?" /
"^" / "_" /
"`" / "{" /
"|" / "}" /
"~" /
UTF8-xtra-char
utf8-realm = 1*( label "." ) label
label = utf8-rtext *(ldh-str)
ldh-str = *( utf8-rtext / "-" ) utf8-rtext
utf8-rtext = ALPHA / DIGIT / UTF8-xtra-char
ちょっとずつ定義が違いますが、Active Directoryを使っている環境では、ここに出て来るのが全部出てきて複雑なことになりがちです。幸運を祈る。