OAuth with inbound REST - grant_type=password error
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
2 hours ago
I am trying to implement OAuth to authenticate external clients who access our custom scripted REST API .
I followed the instructions in the ServiceNow docs > OAuth with inbound REST article to set the OAuth endpoint for external clients, as shown in the screenshot below:
I am using this PowerShell script to make a grant_type=password request to get the access token.
$client_id = '<client id>'
$client_secret = '<client secret>'
$rest_user = '<user name>'
$rest_pw = '<user password>'
$token_url = 'https://<server url>/oauth_token.do'
$content_type = 'application/x-www-form-urlencoded'
$body = "grant_type=password&client_id=$($client_id)&client_secret=$($client_secret)&username=$($rest_user)&password=$($rest_pw)"
$response = Invoke-RestMethod -Method Post -Uri $token_url -ContentType $content_type -Body $body
The Invoke-RestMethod returns the following error:
{"error_description":"access_denied","error":"server_error"}
I have confirmed the username and password credentials by successfully using them with Basic Authentication.
We are currently on Xanadu. I remember previously using the same PowerShell code to successfully get an OAuth access token on an earlier release.
What am I doing wrong? Is there another way to get the OAuth access token?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
3m ago
Hi @Colleen ,
Please refer to the following community post:
Solved: OAuth 2.0 error access_denied - ServiceNow Community
They were having the same issue, and it was resolved by recreating a new application registry.
You can try this as well. It may resolve your issue as well.
Thanks & Regards,
Muhammad Iftikhar
If my response helped, please mark it as the accepted solution so others can benefit as well.