Class UserIdentity.UserIdentityBuilder

  • Enclosing class:
    UserIdentity

    public static class UserIdentity.UserIdentityBuilder
    extends java.lang.Object
    • Method Detail

      • icon

        public UserIdentity.UserIdentityBuilder icon​(@NonNull
                                                     @NonNull java.util.Optional<java.net.URL> icon)
        A URL which resolves to an image associated with the entity. For example, this could be the user’s avatar.

        This URL MUST be an a priori authenticated URL. Authenticators MUST accept and store a 128-byte minimum length for an icon member’s value. Authenticators MAY ignore an icon member’s value if its length is greater than 128 bytes. The URL’s scheme MAY be "data" to avoid fetches of the URL, at the cost of needing more storage.

      • icon

        public UserIdentity.UserIdentityBuilder icon​(java.net.URL icon)
        A URL which resolves to an image associated with the entity. For example, this could be the user’s avatar.

        This URL MUST be an a priori authenticated URL. Authenticators MUST accept and store a 128-byte minimum length for an icon member’s value. Authenticators MAY ignore an icon member’s value if its length is greater than 128 bytes. The URL’s scheme MAY be "data" to avoid fetches of the URL, at the cost of needing more storage.

      • name

        public UserIdentity.UserIdentityBuilder name​(@NonNull
                                                     @NonNull java.lang.String name)
        A human-palatable identifier for a user account. It is intended only for display, i.e., aiding the user in determining the difference between user accounts with similar displayNames.

        For example: "alexm", "alex.p.mueller@example.com" or "+14255551234".

      • displayName

        public UserIdentity.UserIdentityBuilder displayName​(@NonNull
                                                            @NonNull java.lang.String displayName)
        A human-palatable name for the user account, intended only for display. For example, "Alex P. Müller" or "田中 倫". The Relying Party SHOULD let the user choose this, and SHOULD NOT restrict the choice more than necessary.
        • Relying Parties SHOULD perform enforcement, as prescribed in Section 2.3 of [RFC8266] for the Nickname Profile of the PRECIS FreeformClass [RFC8264], when setting displayName's value, or displaying the value to the user.
        • Clients SHOULD perform enforcement, as prescribed in Section 2.3 of [RFC8266] for the Nickname Profile of the PRECIS FreeformClass [RFC8264], on displayName's value prior to displaying the value to the user or including the value as a parameter of the authenticatorMakeCredential operation.

        When clients, client platforms, or authenticators display a displayName's value, they should always use UI elements to provide a clear boundary around the displayed value, and not allow overflow into other elements.

        Authenticators MUST accept and store a 64-byte minimum length for a displayName member's value. Authenticators MAY truncate a displayName member's value to a length equal to or greater than 64 bytes.

        See Also:
        RFC 8264, RFC 8266
      • id

        public UserIdentity.UserIdentityBuilder id​(@NonNull
                                                   @NonNull ByteArray id)
        The user handle for the account, specified by the Relying Party.

        A user handle is an opaque byte sequence with a maximum size of 64 bytes. User handles are not meant to be displayed to users. The user handle SHOULD NOT contain personally identifying information about the user, such as a username or e-mail address; see §14.9 User Handle Contents for details.

        To ensure secure operation, authentication and authorization decisions MUST be made on the basis of this id member, not the displayName nor name members. See Section 6.1 of RFC 8266.

        An authenticator will never contain more than one credential for a given Relying Party under the same user handle.

      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object