Summary

The Password Credentials Authentication allows connection to a Service through the Password grant.
This component will fetch the token and add the required Authorization Header to the requests created by the RestNetwork.
This component expects a response with a JSON body. The JSON must at least contain the "access_token" key with a String value and the "expires_in" key with a numeric value. 
Once the time given by the response through the "expires_in" key has elapsed, this component will refresh the token.
If this component was given a response with a "refresh_token" key with a numeric value, the token will be refreshed using the Refresh Token grant otherwise a new request will be sent.

Implementation

  • Drag the authentication from the palette into the AuthenticationContainer of the Http Config.
  • Fill the fields.
  • As soon as the RestNetwork will try to send a request, the component will fetch the token and add it to the request. You can also trigger the "refreshToken" Action.
  • The authenticated field should display true if everything went well, check the station console otherwise.

(warning) Only one authentication per AuthenticationContainer is possible.

Properties

  • Authenticated: If true, indicates that an AccessToken has been successfully fetched.
  • Token: Displays the first ten letters of the token if a token was successfully fetched.
  • Scope: (optional) Scopes for the client credentials grant. It may have multiple values.
  • Audience: (optional) Audiences for the client credentials grant. It may have multiple values.
  • Timeout: The timeout on the request that will fetch the token.
  • RequestContentType: The content type of the request that will be sent to fetch the token. The standard states that x-www-form-urlencoded should be used, but many API use JSON instead.
  • ClientAuthentication: Determines whether the clientId and clientSecret are sent through the body or through a Basic auth header.
  • AccessTokenUrl: The URL to get the token.
  • ClientId: Field containing the ClientId. It is encrypted and cannot be copied with the component. 
  • ClientSecret: Field containing the ClientSecret. It is encrypted and cannot be copied with the component. 
  • Username: Field containing the Username
  • Password: Field containing the Password. It is encrypted and cannot be copied with the component. 

Actions:

  • RefreshToken: Refresh the token