# Class IvoaLoginProtocol

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

All Implemented Interfaces:
  `LoginProtocol`

public abstract class IvoaLoginProtocol extends Object implements LoginProtocol
Provides SSO-compliant implementations of LoginProtocol.

Since:
  10 Dec 2021
Author:
  Mark Taylor

## Field Summary

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

## Method Summary

Modifier and Type
Method
Description
`static IvoaLoginProtocol`
`getProtocol(String stdId)`
Returns an instance for a given standard ID.
`String`
`getProtocolName()`
Returns a name identifying this protocol.
`String`
`getStandardId()`
Returns the URI identifying this login method.

### Methods inherited from class Object

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

### Methods inherited from interface LoginProtocol

`presentCredentials`

## Field Details

### SSO_URL

public static final 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 Details

### getStandardId

public String getStandardId()
Returns the URI identifying this login method.

Returns:
  standard_id parameter value

### getProtocolName

public 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(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