Class CredentialsRequiredException
- All Implemented Interfaces:
AuthorisationURIGenerator,Serializable
Thrown by ApplicationLinkRequestFactory.createRequest(com.atlassian.sal.api.net.Request.MethodType, java.lang.String) when the endpoint requires authentication, but no
credentials are available. Consumers should redirect the user to the appropriate authorisation URI to allow the user
to authenticate with the remote application.
- Since:
- 3.0
- See Also:
-
Constructor Summary
ConstructorsConstructorDescriptionCredentialsRequiredException(AuthorisationURIGenerator authorisationURIGenerator, String message) -
Method Summary
Modifier and TypeMethodDescriptionProvides a URI that can be used to configure authentication for the requested resource.getAuthorisationURI(URI callback) The URI that can be used to configure authentication for the requested resource.Methods inherited from class java.lang.Throwable
addSuppressed, fillInStackTrace, getCause, getLocalizedMessage, getMessage, getStackTrace, getSuppressed, initCause, printStackTrace, printStackTrace, printStackTrace, setStackTrace, toString
-
Constructor Details
-
CredentialsRequiredException
public CredentialsRequiredException(AuthorisationURIGenerator authorisationURIGenerator, String message)
-
-
Method Details
-
getAuthorisationURI
Description copied from interface:AuthorisationURIGeneratorProvides a URI that can be used to configure authentication for the requested resource. This URI will not result in a callback. ApplicationLinkRequestFactory implementations that support authorisation URIs must return non-null values for this method at a minimum. Support forAuthorisationURIGenerator.getAuthorisationURI(URI callback)is optional.- Specified by:
getAuthorisationURIin interfaceAuthorisationURIGenerator- Returns:
- the URL that can be used to configure authentication for the
requested resource, or null if this request factory doesn't support
authorisation via user intervention. If
AuthorisationURIGenerator.getAuthorisationURI(URI)returns a non-null value, this method MUST also return a non-null value. - See Also:
-
getAuthorisationURI
Description copied from interface:AuthorisationURIGeneratorThe URI that can be used to configure authentication for the requested resource.
The typical scenario is a call to an OAuth-protected remote resource for which the caller does not have an access token. If the caller has the ability to send a redirect (in case of a plugin servlet or webwork action), it would do so using this URL. This URL will take the user to a local endpoint that will perform the "OAuth dance":
- request a Request Token from the remote OAuth provider
- redirect the client to the provider's authorize URL, using itself for the callback
- on successful approval by the user, swap the request token for an access token
- redirect the user back to original resource (the plugin's servlet or action)
If the caller does not have the ability to perform an HTTP redirect to this URL (possibly because it's a Web Panel), it can display a link or button that will open the URL in a popup dialog with an iframe, allowing the user to perform the oauth dance at a later time.
- Specified by:
getAuthorisationURIin interfaceAuthorisationURIGenerator- Parameters:
callback- the URI to redirect to after authentication is complete- Returns:
- the URL that can be used to provide authentication for the
requested resource, or null if this request factory doesn't support
authorisation via user intervention. Note, if this method returns a
non-null value,
AuthorisationURIGenerator.getAuthorisationURI()MUST also return a non-null value.
-