Class WwwAuthenticateHeader

java.lang.Object
org.forgerock.http.protocol.Header
org.forgerock.http.header.WwwAuthenticateHeader

public class WwwAuthenticateHeader extends Header
A Header representation of the WWW-Authenticate HTTP header.
See Also:
  • Field Details

  • Constructor Details

    • WwwAuthenticateHeader

      public WwwAuthenticateHeader()
  • Method Details

    • getChallenges

      public List<WwwAuthenticateHeader.Challenge> getChallenges()
      Return an unmodifiable view of the authentication challenges represented by this header object.
      Returns:
      The challenges.
    • getName

      public String getName()
      Description copied from class: Header
      Returns the name of the header, as it would canonically appear within an HTTP message.
      Specified by:
      getName in class Header
      Returns:
      The name of the header, as it would canonically appear within an HTTP message.
    • getValues

      public List<String> getValues()
      Description copied from class: Header
      Returns the header as a list of strings. If the header has no values then it must return an empty list, never null. Each String should represent the value component of the key-value pair that makes up the HTTP header - as such, for some Header implementations each String in this List may contain multiple token-separated values.

      The List returned from this method should not be expected to be mutable. However, some subclasses of Header may choose to implement it as such.

      Specified by:
      getValues in class Header
      Returns:
      The header as a non-null list of string values. Can be an empty list.
    • addChallenge

      public WwwAuthenticateHeader addChallenge(String scheme, String realm, Map<String,String> parameters)
      Add a new challenge.
      Parameters:
      scheme - The scheme of the authentication option.
      realm - The realm of the authentication option.
      parameters - Any additional options that the scheme requires.
      Returns:
      This header, for fluent invocation of this method.
    • addChallenge

      public WwwAuthenticateHeader addChallenge(WwwAuthenticateHeader.Challenge challenge)
      Add a new authentication option.
      Parameters:
      challenge - The authentication option.
      Returns:
      This header, for fluent invocation of this method.
    • valueOf

      public static WwwAuthenticateHeader valueOf(Response response) throws MalformedHeaderException
      Obtain a WwwAuthenticateHeader representation of the headers in the given response.
      Parameters:
      response - The response object.
      Returns:
      A header object containing 0-to-many header values for the WWW-Authenticate header, or null if the response parameter is null.
      Throws:
      MalformedHeaderException - If any of the WWW-Authenticate values cannot be parsed as such.
    • valueOf

      public static WwwAuthenticateHeader valueOf(List<String> values) throws MalformedHeaderException
      Obtain a WwwAuthenticateHeader representation of the given header values.
      Parameters:
      values - The header values.
      Returns:
      A header object containing 0-to-many header values, or null if the values parameter is null.
      Throws:
      MalformedHeaderException - If any of the values cannot be parsed as a WWW-Authenticate value.
    • basic

      public static WwwAuthenticateHeader basic(String realm)
      Create a basic authentication challenge header.
      Parameters:
      realm - The realm for the challenge.
      Returns:
      The header value.
    • bearer

      public static WwwAuthenticateHeader bearer(String realm, Map<String,String> parameters)
      Create a bearer authentication challenge header.
      Parameters:
      realm - The realm for the challenge.
      parameters - Additional parameters for the challenge.
      Returns:
      The header value.