Question

Implementing the reauthentication flow

  • 13 December 2016
  • 2 replies
  • 809 views

We are trying to implement the reauthentication flow.



I am attempting to use the Refresh Token Flow documented here - https://developer.ringcentral.com/api-docs/latest/index.html#!#RefRefreshTokenFlow


I am hitting the following endpoint to refresh my access token - POST /restapi/oauth/token HTTP/1.1



My headers are the following - headers={"User-Agent"=>"Faraday v0.9.2", "Content-Type"=>"application/x-www-form-urlencoded", "Authorization"=>"Basic {{API_KEYS_HIDDEN_FOR_SECURITY_CONCERNS}}", "Application"=>"application/json"}



My body is the following -body={:client_id=>"{{CLIENT_ID_HIDDEN_FOR_SECURITY_CONCERNS}}", :client_secret=>"{{CLIENT_SECRET_HIDDEN_FOR_SECURITY_CONCERNS}}", :grant_type=>"refresh_token", :refresh_token=>"{{REFRESH_TOKEN_HIDDEN_FOR_SECURITY_CONCERNS}}"}

However when I make a request I receive the following error -


API Error: invalid_client: Invalid client: { "error" : "invalid_client", "errors" : [ { "errorCode" : "OAU-153", "message" : "Invalid client: ", "parameters" : [ { "parameterName" : "client_id", "parameterValue" : "" } ] } ], "error_description" : "Invalid client: "}



Can you please advise as to what the error code "OAU-153" means and what the issue might be? The client_id is not blank, and the headers appear to be correct per the documentation linked to above.


2 replies

Looking at the documentation and your request information, it appears your request is malformed, the request body must contain the following x-www-form-urlencoded properties and values:

refresh_token: "{{YOUR_PREVIOUS_REFRESH_TOKEN}}"
grant_type: "refresh_token"
endpoint_id: "{{UNIQUE_CLIENT_ID}}" /** NOTE: Defaults to previously specified or auto-generated value if not provided **/

Make sure the Authorization: Basic {{BASE_64_ENCODED_API_KEYS_SEPARATED_BY_COLON}}

Try the above and see if this resolves your issues.
Ah, thank you Benjamin. We tried those solutions previously but will give it another shot and reply if we get stuck again.

Reply