UNPKG

@esri/arcgis-rest-request

Version:

Common methods and utilities for @esri/arcgis-rest-js packages.

48 lines (47 loc) 1.63 kB
export interface IAppAccess { /** * Verifies that the token is valid and the user has access to * the specified app (clientId) */ valid: boolean; /** * Should the app present the current user with a "View Only" mode */ viewOnlyUserTypeApp: boolean; } /** * Validates that the user has access to the application * and if they user should be presented a "View Only" mode * * This is only needed/valid for Esri applications that are "licensed" * and shipped in ArcGIS Online or ArcGIS Enterprise. Most custom applications * should not need or use this. * * ```js * import { validateAppAccess } from '@esri/arcgis-rest-request'; * * return validateAppAccess('your-token', 'theClientId') * .then((result) => { * if (!result.value) { * // redirect or show some other ui * } else { * if (result.viewOnlyUserTypeApp) { * // use this to inform your app to show a "View Only" mode * } * } * }) * .catch((err) => { * // two possible errors * // invalid clientId: {"error":{"code":400,"messageCode":"GWM_0007","message":"Invalid request","details":[]}} * // invalid token: {"error":{"code":498,"message":"Invalid token.","details":[]}} * }) * ``` * * Note: This is only usable by Esri applications hosted on *arcgis.com, *esri.com or within * an ArcGIS Enterprise installation. Custom applications can not use this. * * @param token platform token * @param clientId application client id * @param portal Optional */ export declare function validateAppAccess(token: string, clientId: string, portal?: string): Promise<IAppAccess>;