import { AccessToken } from '../models/AccessToken'; import { SecurityProfile } from '../models/SecurityProfile'; export default class Auth { private _http; constructor(); /** * @description this workflow is most appropriate for client apps where user is a human, ie a registered user * * @param username of the user logging in * @param password of the user logging in * @param client_id of the application the user is logging into * @param scope roles being requested - space delimited string or array */ Login(username: string, password: string, clientID: string, scope: Array): Promise; /** * @description similar to login except client secret is also required, adding another level of security * * @param clientSecret of the application * @param username of the user logging in * @param password of the user logging in * @param clientID of the application the user is logging into * @param scope roles being requested - space delimited string or array * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ ElevatedLogin(clientSecret: string, username: string, password: string, clientID: string, scope: Array): Promise; /** * @description this workflow is best suited for a backend system * * @param clientSecret of the application * @param clientID of the application the user is logging into * @param scope roles being requested - space delimited string or array * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ ClientCredentials(clientSecret: string, clientID: string, scope: Array): Promise; /** * @description extend your users' session by getting a new access token with a refresh token. refresh tokens must be enabled in the dashboard * * @param refreshToken of the application * @param clientID of the application the user is logging into * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ RefreshToken(refreshToken: string, clientID: string): Promise; /** * @description allow users to browse your catalog without signing in - must have anonymous template user set in dashboard * * @param clientID of the application the user is logging into * @param scope roles being requested - space delimited string or array * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. * @param reportProgress flag to report request and response progress. */ Anonymous(clientID: string, scope: Array): Promise; }