Call oData services in browser-based JavaScript applications
Call oData services in browser-based JavaScript applications
In this tutorial, you create HTTP requests to access Sitefinity CMS OData services using access tokens with Bearer token authentication. To do this, you use a JavaScript OpenID Connect (OIDC) client OAuth2 protocol support for client-side applications.
In this tutorial, you enable users, authenticated in the backend, to obtain access token and have permissions to view News items via a protected service. You can additionally implement other actions authenticated users can complete, such as modify or delete.
The files you work with in this tutorial are:
- oidc-client.js
OIDC client and OAuth2 protocol support for browser-based JavaScript applications.
- silent.html
Helper page required to obtain access token.
- news.html
A sample page demonstrating how to obtain an access token and call the OData services.
NOTE: In this tutorial, you work with specific versions of the files, listed above. You can download these file versions from the GitHub repository.
PREREQUISITES:
Make sure the authentication protocol is set to OpenID (the default authentication protocol in Sitefinity CMS):
-
Navigate to Administration -> Advanced settings -> Authentication.
- From the Authentication protocol dropdown, select OpenId.
To setup the application and create HTTP requests:
- Download the following assets:
- Paste the assets in the relevant folders in your web application, for example, paste the OIDC client in the scripts folder.
NOTE: By default, assets are copied to the root folder of your application.
- Open the news.html file:
In the code above you:
- Setup the links to where you pasted the silent.html and oidc-client.js, for example, to the scripts folder where you placed the oidc-client.js file.
NOTE: By default, the links direct to the root folder.
- Configure the OIDC client settings:
Parameter |
Value |
Description |
authority |
http://host:port/Sitefinity/Authenticate/OpenID |
The absolute path to the external STS. |
client_id |
sitefinity |
The client ID configured in the external STS. |
silent_redirect_uri |
http://host:port/<folder where the silent page is located>/silent.html |
The URL for the page containing the code handling the silent renew.
|
response_type |
id_token token |
The type of response desired from the OIDC/OAuth2 provider.
|
scope |
openid |
The minimum scope, required by the scenario. |
automaticSilentRenew |
true |
Automatically renew the access token on the silent page. |
NOTE: For a full list of OIDC settings, see
GitHub OIDC client settings page.
- Restart the application.