Request access token
Overview
You authenticate in Sitefinity CMS OData RESTful API services by acquiring a bearer token and sending it with all requests to the OData services. This article describes the following ways that you can use authenticate in Sitefinity CMS to interact with protected OData routes:
- Using the OpenID authentication protocol
- Using the Default authentication protocol
Before sending the request to the server, you have to configure Sitefinity CMS advanced settings. Afterwards, you can request a bearer token.
OpenID authentication protocol settings
- In Sitefinity CMS backend, navigate to Administration » Settings » Advanced.
- In the left pane, expand Authentication » SecurityTokenService » IdentityServer.
- Click Clients » Create new.
-
Fill out the required fields.
For example, enter the following:
-
In Client name, enter testApp
- In Client Id, enter testApp
- Select Enabled checkbox.
- In Client flow dropdown box, select ResourceOwner.
- Select Allow access to all scopes checkbox.
- Save your changes.
- Expand the newly created client.
- Click Client secrets » click Create new.
-
Enter a secret and save your changes.
For example, enter secret
- Expand the newly created client.
- Click Allow cors origins » Create new.
-
Enter the origin that can request tokens from the STS.
For example, enter the URL of your server or app, or * for all.
IMPORTANT: Allowing access control to all is considered a security risk.
- Save your changes.
- Expand Authentication » SecurityTokenService » IdentityServer.
- Click Scopes » Create new.
- In Scope name, enter offline_access
- In Scope type, enter Resource
- Save your changes.
- Restart your Sitefinity CMS instance.
NOTE: If you are in load balanced environment, make sure to apply these steps to all necessary nodes.
Request a bearer token with OpenID protocol
If you are using OpenID authentication protocol to authenticate to a RESTful API service, use the following request to obtain a bearer token that you can afterwards in in subsequent requests.
Sample request
POST http://mysite.com/Sitefinity/Authenticate/OpenID/connect/token
Sample response
Default authentication protocol settings
- In Sitefinity CMS backend, navigate to Administration » Settings » Advanced.
- In the left pane, expand Security.
-
In AccessControlAllowOrigin, enter the URL of your server or app, or enter * for all.
IMPORTANT: Allowing access control to all is considered a security risk.
- Save your changes.
- In the left pane, expand Authentication » OAuthServer.
- Click AuthorizedClients » Create new.
-
Fill out the required fields.
For example, enter the following:
-
In ClientId, enter postman
-
In Secret, enter secret
- Save your changes.
- Restart your Sitefinity CMS instance.
NOTE If you are in load balanced environment, make sure to apply these steps to all necessary nodes.
Request a bearer token with the Default protocol
If you are using Default authentication protocol to authenticate to a RESTful API service, use the following request to obtain a bearer token that you can afterwards in in subsequent requests.
Sample request
POST http://mysite.com/sitefinity/oauth/token
Sample response
Use the bearer token in a request
Once you have obtained the bearer token, you must append it to all requests that require authentication as a request header in the following way:
Authorization: Bearer {{token_value}}