Register OAuth applications, authorize third-party access, and issue scoped RS256 access tokens through the Vultr OAuth identity provider and its REST API.
Vultr acts as an OAuth 2.0 identity provider, letting a customer register a third-party application that other Vultr customers can authorize. Once a customer authorizes an application, it receives a signed JSON Web Token (JWT) that it presents to the Vultr API as a Bearer token, scoped to the permissions the customer consented to and never beyond that customer's own access.
This overview describes the actors, resources, and lifecycle of the Vultr OAuth Identity Provider. Use it to understand how the individual guides in this section fit together.
The OAuth flow involves three actors, and the guides are organized around them.
The OAuth system is built on a small set of resources.
An OAuth application moves through a defined set of states.
Draft.After an end user authorizes an application, the application exchanges a one-time authorization code for an access token at the provider's token endpoint. The authorization code expires in 10 minutes and is single-use, while the access token is a one-hour RS256 JWT. The application renews the token with a rotating refresh token rather than sending the user through consent again. Revoking an authorization tears down the grant and invalidates every token the application holds.
Register, list, update, submit, regenerate the secret for, and delete OAuth applications across their complete lifecycle on Vultr using the Vultr API.
Attach an IAM permission policy as a scope to a Vultr OAuth application to define the access it requests, using the Vultr Console or the Vultr REST API.
Add a logo to a Vultr OAuth application so it appears on the customer consent screen, uploaded as a base64 image using the Vultr Console or the Vultr API.
Add and remove the Vultr users allowed to authorize a Draft OAuth application so you can test the authorization flow before approval, using the Vultr API.
List every Vultr user who authorized your OAuth application, including revoked grants, so you can audit delegated access to the app using the Vultr API.
Revoke every user's tokens for an OAuth application you own using the Vultr Console or the Vultr API, forcing all users to re-authorize the application.
Grant a third-party OAuth application access to your Vultr account within your own permissions and receive a one-time authorization code using the API.
View every third-party OAuth application you authorized on Vultr, along with the scopes each application was granted, to manage delegated access via the API.
Revoke a third-party OAuth application's access to your Vultr account, invalidating its access and refresh tokens immediately, using the Vultr REST API.
Call the Vultr API on a customer's behalf by presenting an OAuth access token as a Bearer token, scoped to the permissions the customer consented to you.
Protect the Vultr OAuth authorization code flow with Proof Key for Code Exchange by generating a verifier and challenge for public client applications.
Integrate a third-party application with Vultr OAuth end to end, from creating a provider through exchanging a code and calling the Vultr API with a token.