Getting an OAuth access token for testing purposes Follow

Comments

8 comments

  • Avatar
    vitaliy.bondar.tvorovskiy

    Is there a way to create token using this endpoint for a non-admin user?

  • Avatar
    Brian Manning

    @vitaliy - The token creation endpoint is only available to admins. If you have questions on the authentication flow for an app or service you're working on feel free to open up a ticket and we'll assist. Cheers!

  • Avatar
    Chris Nicholson-Doyle

    The most well written and simple to follow Zendesk article I have read. Great work!

  • Avatar
    Jessie - Community Manager

    Thanks, Chris! I'm glad you found it useful. :)

  • Avatar
    Karl Kerem

    The user interface has changed for creating an OAuth token, there's no link anymore to get the client ID via the link. Also, the List Clients endpoint of the OAuth Client API doesn't list our newly created OAuth client.

    What are the new steps for finding out OAuth client ID so that we could create a new token for it with desired scope?

  • Avatar
    Bryan Flynn

    Hi Karl -- looks like you're talking about wanting to grab the OAuth Client's internal ID value from the UI -- agreed, it doesn't look like that ID value can be picked up in the UI -- sorry about that.

    However, the List Clients API call should be listing out all your OAuth Clients listed under Admin > Channels/API > OAuth Clients, along with their corresponding IDs (and just to be complete, creating a new token via the API is documented here - note that client_id is the numeric id of the OAuth client, not the client's identifier).

    If you're not seeing all your OAuth clients via the List Clients API, please do a hard refresh and make sure you're getting the latest. If you're still not getting all your OAuth clients listed, probably best to open a ticket via support@zendesk.com, so it can be investigated further.

    Please share any additional info or resolutions here. Thanks!

  • Avatar
    Chris Adams

    @Karl you can still get the client id if you know how to open up the network tab in Chrome and inspect the network call to clients endpoint and inspect the JSON response.

     

    @Bryan, does this article still work if you are using Single Sign On? I don't know what I can use for the password argument.

  • Avatar
    Bryan Flynn

    Hi Chris. Unless you've disabled passwords (admin/settings > security > admins & agents tab / Passwords Disabled is checked), you should still have a username/password associated with your account and can use that.

    If not, then you could enable it for this exercise.

    Or you could generate an OAuth token using a grant flow (see Using OAuth authentication with your appplication). Then you could use the OAuth token in an Authorization header instead of specifying a username/password combination -- example: curl -v -H "Content-Type: application/json" -H "Authorization: Bearer 5888a...."  ...

    An easy way to generate an OAuth token is to:

    1. Go to https://developer.zendesk.com/requests/new

    2. Click 'OAuth Implicit Grant', enter your Zendesk subdomain, and click 'Authorize'

    The value that appears to the right of the 'Authorize' button is an OAuth token. You can copy that full string and use it in your cURL call as shown above. But be careful, that token is essentially a key into your Zendesk account. You'll want to protect it similar to a password.

    Hope this helps!

     

Please sign in to leave a comment.

Powered by Zendesk