we are using grant_type as "client_credentials" and getting a below response
{
"error": "access_denied",
"error_description": "This application is not allowed to create application tokens"
}
and Content-Type = application/x-www-form-urlencoded. for more information, please refer attached screenshot.
Related
I am trying to get all events of the group but the API return me AccessDenied.
The user is owner of the group (I have add it via add admin API).
While getting authenticate token I am using grant_type password and scope Group.ReadWrite.All (my request also contain username , password,client_id,client_secret,resource parametr as on body).
but when I sent request to API I can not get list of events it returs access denied.
Even I tested it in microsoft graph explorer it also return Access denied error.
How should I fix this?.
Getting Token Api - https://login.microsoftonline.com/{tenant_id}/oauth2/token
The API for listing events
https://graph.microsoft.com/v1.0/groups/{GROUP id}/calendar/events
Headers - Authorization Bearer {token}
The returned Error :
{
"error": {
"code": "ErrorAccessDenied",
"message": "Access is denied. Check credentials and try again."
} }
So I am trying to get an authorization token from MSFT.
I am using the HTTP Request object as an action.
I set the method to POST, provide URI, set a Content_Type in the Header, and add a grant type to the body.
Screenshot of LogicApps HTTP Setup
When I run my logic app I receive the following error:
"error": "invalid_request",
"error_description": "AADSTS900144: The request body must contain the following parameter: 'grant_type'.\r\nTrace ID: ef137edb-87d4-43e2-88b7-d119b2c00500\r\nCorrelation ID: 4ea88c05-7f28-4e3f-bb31-052c3baac198\r\nTimestamp: 2020-05-22 17:33:21Z",
"error_codes": [
900144
So the error says I am missing 'grant_type' but I have it in the body.
Can anyone point me in a direction to get this resolved?
The Body in this case is not a JSON object, it's a Form encode. Here's a screen shot where I do this same task:
You'll need to pass the client_id and client_secret as well.
I'm trying to make a request to /v3/stations/by_geocoord.json but I keep getting a response with the message "These credentials do not authorize access." The full response is:
{
"Res": {
"serviceUrl": "https://cit.transit.api.here.com/transit/v3/stations/by_geocoord.json",
"Message": {
"code": "I4",
"level": "E",
"text": "These credentials do not authorize access. Please contact your customer representative or submit a request here https://developer.here.com/contact-us to upgrade your account. You can also get valid credentials by registering for a free trial license on https://developer.here.com."
}
}
}
What am I missing? Is this endpoint subject to accepting any further T&Cs? Or is it not included in the Public Basic Plan?
Thank you!
You need to provide your app id and app code in order to use the API. It is included the basic plan and you shouldn't have any problem accessing it.
https://transit.api.here.com/v3/stations/by_geocoord.json?center=55.7541%2C37.6200&radius=350&app_id={YOUR-APP-ID}&app_code={YOUR-APP-CODE}&max=3
I have installed Laravel Passport per the documentation and I have modified all areas of my code that is required.
I am working on setting up Password Grant Tokens so that users will be able to get an API token when logging in with their username and password for the site. I am hitting an issue though when it comes to the grant_type.
For some reason Laravel is complaining about an invalid grant type.
{
"error": "unsupported_grant_type",
"message": "The authorization grant type is not supported by the authorization server.",
"hint": "Check the `grant_type` parameter"
}
These are the fields that I am posting to /oauth/token
client_id = 4
client_secret = SMiYE7XqDNtXKQnmkYmFnXxfAaV83vRhnJ9zwCtZ
username = jcrawford#domain.com
password = **************
grant_type = password
scope = *
I have run php artisan passport:install and I have also tried running php artisan passport:client --password
Both commands worked and both created the client and secrets, however, I cannot seem to get past the error about the grant_type.
Any suggestions on what I should look at to get this solved so that Password Grant Tokens will work for me?
It appears that you must send the parameters as form data and not in the headers like I was doing... Rookie Mistake!
I'm using Postman and I have put all parameters in Params. Postman shows the following response
{
"error": "unsupported_grant_type",
"message": "The authorization grant type is not supported by the authorization server.",
"hint": "Check the `grant_type` parameter"
}
Now I put all parameters in Body and then press the Send button, It's working well.
For me the problem was that i wasnt using Request $request, i was using RegisterRequest $request which i had created.
Initial URL
https://restfulapi.test/oauth/authorize?client_id=3&redirect_url=http://restfulapi.test?response_type=code
Solution
https://restfulapi.test/oauth/authorize?client_id=3&redirect_url=http://restfulapi.test&response_type=code
I had to replace the question mark before response_type with the &
Reading the Laravel documentation saved me a lot of stress. The oauth\token is used to retrieve token using the grant type specified, the route will return a JSON response containing access_token, refresh_token, and expires_in attributes. The expires_in attribute contains the number of seconds until the access token expires (ref) You are meant to
Install passport
Publish the service providers and migrations and migrate.
Setup a route for login/register to create an account and login.
In your User model, add HasApiTokens from use Laravel\Passport\HasApiTokens;
In your response in your login method, add the token as part of the response.
Test your response on postman
I have generated the consumer key and consumer secret but I don't know how to aply it to authenticate on Postman. This is the screenshot below:
The url looks like this: https://mystore.com/wp-json/wc/v1/coupons?oauth_consumer_key=ck_XXXXXXXXXXXXXXX&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1471440398&oauth_nonce=Qaq8cK&oauth_version=1.0&oauth_signature=XXXXXXXXXXXXXXXXXXXXXXXXXw=
But this is returning error 401:
{
"code": "woocommerce_rest_cannot_view",
"message": "Sorry, you cannot list resources.",
"data": {
"status": 401
}
}
I have read the the documentation but it didn't show any examples.
You can send your credentials via Authentication header if your site runs on HTTPS (it should if you're running WooCommerce).
Here's the relevant part of the docs:
https://woothemes.github.io/woocommerce-rest-api-docs/?shell#authentication-over-https