oauth2.dev

family_name

OpenID_Foundation_Artifact_Binding_Working_Group

Registry Context

family_name is the End-User's surname or last name claim. OpenID Connect Core defines it as a string and notes that cultures can have multiple family names or no family name.

Technical Summary

OpenID Connect Core Section 5.1 defines family_name as a Standard Claim of type string. Multilingual/script-specific representations can use language-tagged claim names such as family_name#ja-Kana-JP under the Claims Languages and Scripts rules.

When Used

Used in UserInfo Responses or ID Tokens to convey the End-User's surname or last name information.

Normative Requirements

Requests

MAY
1
  1. openid-connect-core-1_0 - Section 5.5.2

    request languages and scripts for family_name by including Claim Names containing #-separated BCP47 language tags in the Claims request.

    Condition: within a request for individual Claims

    requested languages and scripts for particular Claims MAY be requested by including Claim Names that contain #-separated BCP47 language tags

Implementations

SHOULD
1
  1. openid-connect-core-1_0 - Section 5.2

    interpret language tag values supplied in family_name Claim Names case-insensitively.

    Condition: when processing BCP47 language tag values in language-tagged Claim Names

    implementations SHOULD interpret the language tag values supplied in a case-insensitive manner.

Unspecified actor

SHOULD
1
  1. openid-connect-core-1_0 - Section 5.2

    make language tag values for language-tagged family_name Claims only as specific as necessary.

    Condition: when choosing BCP47 language tag values for Claims

    language tag values for Claims SHOULD only be as specific as necessary.

RECOMMENDED
1
  1. openid-connect-core-1_0 - Section 5.2

    spell language tag values used in language-tagged family_name Claim Names using the character case registered in the IANA Language Subtag Registry.

    Condition: when using BCP47 language tags in Claim Names such as family_name#ja-Kana-JP

    it is strongly RECOMMENDED that language tag values used in Claim Names be spelled using the character case

MAY
1
  1. openid-connect-core-1_0 - Section 5.2

    represent human-readable family_name Claim Values in multiple languages and scripts.

    Condition: when treating family_name as a human-readable Claim Value

    Human-readable Claim Values ... MAY be represented in multiple languages and scripts.

OP

SHOULD
1
  1. openid-connect-core-1_0 - Section 5.5.2

    use a language tag in the Claim Name for returned family_name versions that do not use the requested language and script.

    Condition: if the OP receives a request for human-readable Claims in a language and script it does not have

    any versions of those Claims returned that do not use the requested language and script SHOULD use a language tag

OPs

SHOULD
1
  1. openid-connect-core-1_0 - Section 5.2

    try to match requested family_name Claim locales with Claims the OP has.

    Condition: where possible, when a Client requests a locale for a human-readable Claim such as family_name

    Where possible, OPs SHOULD try to match requested Claim locales with Claims it has.

Validation Guidance

info

Accept family_name as a JSON string when present; Section 5.1 defines the member type as string, but does not state this with an uppercase BCP 14 keyword.

warning

For language-tagged family_name variants, accept BCP47 tag casing case-insensitively.

warning

When generating language-tagged family_name claim names, prefer registered BCP47 casing and avoid tags more specific than needed.

warning

When fulfilling an individual claim request for family_name in a requested language/script, try to match available claim locales and tag fallback variants that do not use the requested language/script.

Reference

Details

Entry Id
family_name
Claim Name
family_name
Claim Description
Surname(s) or last name(s)
Change Controller
OpenID_Foundation_Artifact_Binding_Working_Group
Reference
OpenID Connect Core 1.0 - Section 5.1