Package com.atlassian.applinks.api
Interface AuthorisationURIGenerator
- All Known Subinterfaces:
ApplicationLinkRequestFactory
- All Known Implementing Classes:
CredentialsRequiredException
public interface AuthorisationURIGenerator
Used to generate URIs for users to supply credentials to
AuthenticationProviders.- Since:
- 3.0
-
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.
-
Method Details
-
getAuthorisationURI
The 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.
- 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,
getAuthorisationURI()MUST also return a non-null value.
-
getAuthorisationURI
URI getAuthorisationURI()Provides 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 forgetAuthorisationURI(URI callback)is optional.- 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
getAuthorisationURI(URI)returns a non-null value, this method MUST also return a non-null value. - See Also:
-