uk.ac.starlink.auth

## Class IvoaLoginProtocol

- java.lang.Object
- - uk.ac.starlink.auth.IvoaLoginProtocol

- All Implemented Interfaces:
    LoginProtocol

      public abstract class IvoaLoginProtocol
      extends java.lang.Object
      implements LoginProtocol

  Provides SSO-compliant implementations of LoginProtocol.
  Since:
    10 Dec 2021

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static IvoaLoginProtocol` | `BASIC_AA` Implementation for standard_id="ivo://ivoa.net/sso#BasicAA".
    `static java.lang.String` | `SSO_URL`
    `static IvoaLoginProtocol` | `TLS_WITH_PASSWORD` Implementation for standard_id="ivo://ivoa.net/sso#tls-with-password".

  - ### Method Summary

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `static IvoaLoginProtocol` | `getProtocol(java.lang.String stdId)` Returns an instance for a given standard ID.
    `java.lang.String` | `getProtocolName()` Returns a name identifying this protocol.
    `java.lang.String` | `getStandardId()` Returns the URI identifying this login method.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface uk.ac.starlink.auth.LoginProtocol

      `presentCredentials`

- - ### Field Detail

    - #### SSO_URL

          public static final java.lang.String SSO_URL

      See Also:
        Constant Field Values

    - #### TLS_WITH_PASSWORD

          public static final IvoaLoginProtocol TLS_WITH_PASSWORD

      Implementation for standard_id="ivo://ivoa.net/sso#tls-with-password".

    - #### BASIC_AA

          public static final IvoaLoginProtocol BASIC_AA

      Implementation for standard_id="ivo://ivoa.net/sso#BasicAA".

  - ### Method Detail

    - #### getStandardId

          public java.lang.String getStandardId()

      Returns the URI identifying this login method.
      Returns:
        standard_id parameter value

    - #### getProtocolName

          public java.lang.String getProtocolName()

      Description copied from interface: `LoginProtocol`
      Returns a name identifying this protocol.
      Specified by:
        `getProtocolName` in interface `LoginProtocol`
      Returns:
        name

    - #### getProtocol

          public static IvoaLoginProtocol getProtocol(java.lang.String stdId)

      Returns an instance for a given standard ID. The supplied value is as found in the `standard_id` parameter of an SSO challenge.
      Parameters:
        `stdId` - standard ID
      Returns:
        matching login protocol, or null