Title | Added | Status | Last reviewed |
---|---|---|---|
Storage service |
v2.0.0 |
Active |
2018-11-14 |
Stores items in the form of key-value pairs.
- clear()
Removes all currently stored items. - getItem(key:
string
):string|null
Gets an item.- key:
string
- Key to identify the item - Returns
string|null
- The item (if any) retrieved by the key
- key:
- hasItem(key:
string
):boolean
Is any item currently stored underkey
?- key:
string
- Key identifying item to check - Returns
boolean
- True if key retrieves an item, false otherwise
- key:
- removeItem(key:
string
)
Removes a single item.- key:
string
- Key to identify the item
- key:
- setItem(key:
string
, data:string
)
Stores an item- key:
string
- Key to identify the item - data:
string
- Data to store
- key:
The service will check to see if web storage is available on the browser. If it is available then the service will use it to store the key-value items persistently. Web storage can be used in a similar way to cookies but with a much higher size limit (several MB for web storage compared to a few KB for cookies). However, cookies are more widely supported by browsers and can be set to expire after a certain date.
If local storage is not available then non-persistent memory storage within the app is used instead.
If you are using multiple ADF apps, you might want to set the following configuration so that the apps have specific storages and are independent of others when setting and getting data from the local storage.
In order to achieve this, you will only need to set your app identifier under the storagePrefix
property of the app in your app.config.json
file.
"application": {
"storagePrefix": "ADF_Identifier",
"name": "Your app name",
"copyright": "Your copyright message"
}
Important note This identifier must be unique to the app to guarantee that it has its own storage.
The storagePrefix can allow you to login with multiple user in the same browser only if: - Or You don't use the implicit flow - Or You use implicit flow you use different AIMS instances for any app