Configure generic OAuth authentication | Grafana documentation (2023)

SetupConfigure securityConfigure authenticationConfigure generic OAuth authentication

You can configure many different OAuth2 authentication services with Grafana using the generic OAuth2 feature. Examples:

  • Generic OAuth authentication
    • Set up OAuth2 with Auth0
    • Set up OAuth2 with Bitbucket
    • Set up OAuth2 with Centrify
    • Set up OAuth2 with OneLogin
    • Role mapping
    • Team synchronization

This callback URL must match the full HTTP address that you use in your browser to access Grafana, but with the suffixed path of /login/generic_oauth.

You may have to set the root_url option of [server] for the callback URL to becorrect. For example in case you are serving Grafana behind a proxy.

Example config:

[auth.generic_oauth]name = OAuthicon = signinenabled = trueclient_id = YOUR_APP_CLIENT_IDclient_secret = YOUR_APP_CLIENT_SECRETscopes =empty_scopes = falseauth_url =token_url =api_url =allowed_domains = mycompany.com mycompany.orgallow_sign_up = truetls_skip_verify_insecure = falsetls_client_cert =tls_client_key =tls_client_ca =use_pkce = trueauth_style =

Set api_url to the resource that returns OpenID UserInfo compatible information.

You can also specify the SSL/TLS configuration used by the client.

  • Set tls_client_cert to the path of the certificate.
  • Set tls_client_key to the path containing the key.
  • Set tls_client_ca to the path containing a trusted certificate authority list.

tls_skip_verify_insecure controls whether a client verifies the server’s certificate chain and host name. If it is true, then SSL/TLS accepts any certificate presented by the server and any host name in that certificate. You should only use this for testing, because this mode leaves SSL/TLS susceptible to man-in-the-middle attacks.

auth_style controls which OAuth2 AuthStyle is used when token is requested from OAuth provider. It determines how client_id and client_secret are sent to Oauth provider.Available values are AutoDetect, InParams and InHeader. By default, AutoDetect is used.

Set empty_scopes to true to use an empty scope during authentication. By default, Grafana uses user:email as scope.

Email address

Grafana determines a user’s email address by querying the OAuth provider until it finds an e-mail address:

(Video) How to configure OAuth and Expose the Web service in Dynamics 365 Business central

  1. Check for the presence of an e-mail address via the email field encoded in the OAuth id_token parameter.
  2. Check for the presence of an e-mail address using the JMESPath specified via the email_attribute_path configuration option. The JSON used for the path lookup is the HTTP response obtained from querying the UserInfo endpoint specified via the api_url configuration option.Note: Only available in Grafana v6.4+.
  3. Check for the presence of an e-mail address in the attributes map encoded in the OAuth id_token parameter. By default Grafana will perform a lookup into the attributes map using the email:primary key, however, this is configurable and can be adjusted by using the email_attribute_name configuration option.
  4. Query the /emails endpoint of the OAuth provider’s API (configured with api_url), then check for the presence of an email address marked as a primary address.
  5. If no email address is found in steps (1-4), then the email address of the user is set to an empty string.

Groups / Teams

Similarly, group mappings are made using JMESPath with the groups_attribute_path configuration option. The id_token is attempted first, followed by the UserInfo from the api_url. The result of the JMESPath expression should be a string array of groups.

Furthermore, Grafana will check for the presence of at least one of the teams specified via the team_ids configuration option using the JMESPath specified via the team_ids_attribute_path configuration option. The JSON used for the path lookup is the HTTP response obtained from querying the Teams endpoint specified via the teams_url configuration option (using /teams as a fallback endpoint). The result should be a string array of Grafana Team IDs. Using this setting ensures that only certain teams is allowed to authenticate to Grafana using your OAuth provider.

Login

Customize user login using login_attribute_path configuration option. Order of operations is as follows:

  1. Grafana evaluates the login_attribute_path JMESPath expression against the ID token.
  2. If Grafana finds no value, then Grafana evaluates expression against the JSON data obtained from UserInfo endpoint. The UserInfo endpoint URL is specified in the api_url configuration option.

You can customize the attribute name used to extract the ID token from the returned OAuth token with the id_token_attribute_name option.

You can set the user’s display name with JMESPath using the name_attribute_path configuration option. It operates the same way as the login_attribute_path option.

Note: name_attribute_path is available in Grafana 7.4+.

PKCE

Available in Grafana v8.3 and later versions.

IETF’s RFC 7636introduces “proof key for code exchange” (PKCE) which introducesadditional protection against some forms of authorization codeinterception attacks. PKCE will be required in OAuth 2.1.

You can enable PKCE in Grafana by setting use_pkce to true in the[auth.generic_oauth] section.

use_pkce = true

Grafana always uses the SHA256 based S256 challenge method and a 128 bytes (base64url encoded) code verifier.

Set up OAuth2 with Auth0

  1. Create a new Client in Auth0

    • Name: Grafana
    • Type: Regular Web Application
  2. Go to the Settings tab and set:

    • Allowed Callback URLs: https://<grafana domain>/login/generic_oauth
  3. Click Save Changes, then use the values at the top of the page to configure Grafana:

    (Video) How to Authenticate and use Spotify Web API

    [auth.generic_oauth]enabled = trueallow_sign_up = trueteam_ids =allowed_organizations =name = Auth0client_id = <client id>client_secret = <client secret>scopes = openid profile emailauth_url = https://<domain>/authorizetoken_url = https://<domain>/oauth/tokenapi_url = https://<domain>/userinfouse_pkce = true

Set up OAuth2 with Bitbucket

[auth.generic_oauth]name = BitBucketenabled = trueallow_sign_up = trueclient_id = <client id>client_secret = <client secret>scopes = account emailauth_url = https://bitbucket.org/site/oauth2/authorizetoken_url = https://bitbucket.org/site/oauth2/access_tokenapi_url = https://api.bitbucket.org/2.0/userteams_url = https://api.bitbucket.org/2.0/user/permissions/workspacesteam_ids_attribute_path = values[*].workspace.slugteam_ids =allowed_organizations =

Set up OAuth2 with Centrify

  1. Create a new Custom OpenID Connect application configuration in the Centrify dashboard.

  2. Create a memorable unique Application ID, e.g. “grafana”, “grafana_aws”, etc.

  3. Put in other basic configuration (name, description, logo, category)

  4. On the Trust tab, generate a long password and put it into the OpenID Connect Client Secret field.

  5. Put the URL to the front page of your Grafana instance into the “Resource Application URL” field.

  6. Add an authorized Redirect URI like https://your-grafana-server/login/generic_oauth

  7. Set up permissions, policies, etc. just like any other Centrify app

  8. Configure Grafana as follows:

    [auth.generic_oauth]name = Centrifyenabled = trueallow_sign_up = trueclient_id = <OpenID Connect Client ID from Centrify>client_secret = <your generated OpenID Connect Client Secret"scopes = openid profile emailauth_url = https://<your domain>.my.centrify.com/OAuth2/Authorize/<Application ID>token_url = https://<your domain>.my.centrify.com/OAuth2/Token/<Application ID>api_url = https://<your domain>.my.centrify.com/OAuth2/UserInfo/<Application ID>

Set up OAuth2 with OneLogin

  1. Create a new Custom Connector with the following settings:

    • Name: Grafana
    • Sign On Method: OpenID Connect
    • Redirect URI: https://<grafana domain>/login/generic_oauth
    • Signing Algorithm: RS256
    • Login URL: https://<grafana domain>/login/generic_oauth

    then:

  2. Add an App to the Grafana Connector:

    • Display Name: Grafana

    then:

  3. Under the SSO tab on the Grafana App details page you’ll find the Client ID and Client Secret.

    (Video) Break ice or don't login twice: FreeIPA and OAuth 2.0

    Your OneLogin Domain will match the URL you use to access OneLogin.

    Configure Grafana as follows:

    [auth.generic_oauth]name = OneLoginenabled = trueallow_sign_up = trueclient_id = <client id>client_secret = <client secret>scopes = openid email nameauth_url = https://<onelogin domain>.onelogin.com/oidc/2/authtoken_url = https://<onelogin domain>.onelogin.com/oidc/2/tokenapi_url = https://<onelogin domain>.onelogin.com/oidc/2/meteam_ids =allowed_organizations =

Role Mapping

Grafana checks for the presence of a role using the JMESPath specified via the role_attribute_path configuration option. The JMESPath is applied to the id_token first. If there is no match, then the UserInfo endpoint specified via the api_url configuration option is tried next. The result after evaluation of the role_attribute_path JMESPath expression should be a valid Grafana role, for example, Viewer, Editor or Admin.

For more information, refer to the JMESPath examples.

Warning: Currently if no organization role mapping is found for a user, Grafana doesn’tupdate the user’s organization role. This is going to change in Grafana 10. To avoid overriding manually set roles,enable the oauth_skip_org_role_update_sync option.See configure-grafana for more information.

On first login, iftherole_attribute_path property does not return a role, then the user is assigned the rolespecified by the auto_assign_org_role option.You can disable this default roleassignment by setting role_attribute_strict = true.It denies user access if no role or an invalid role is returned.

Warning: With Grafana 10, on every login, iftherole_attribute_path property does not return a role,then the user is assigned the role specified bythe auto_assign_org_role option.

JMESPath examples

Map user organization role

To ease configuration of a proper JMESPath expression, you can test/evaluate expressions with custom payloads at http://jmespath.org/.

Basic example:

In the following example user will get Editor as role when authenticating. The value of the property role will be the resulting role if the role is a proper Grafana role, i.e. Viewer, Editor or Admin.

Payload:

{ ... "role": "Editor", ...}

Config:

role_attribute_path = role

Advanced example:

(Video) Roll Your Own Google OAuth 2.0 Library

In the following example user will get Admin as role when authenticating since it has a role admin. If a user has a role editor it will get Editor as role, otherwise Viewer.

Payload:

{ ... "info": { ... "roles": [ "engineer", "admin", ], ... }, ...}

Config:

role_attribute_path = contains(info.roles[*], 'admin') && 'Admin' || contains(info.roles[*], 'editor') && 'Editor' || 'Viewer'

Map server administrator privileges

Available in Grafana v9.2 and later versions.

If the application role received by Grafana is GrafanaAdmin, Grafana grants the user server administrator privileges.
This is useful if you want to grant server administrator privileges to a subset of users.
Grafana also assigns the user the Admin role of the default organization.

The setting allow_assign_grafana_admin under [auth.generic_oauth] must be set to true for this to work.
If the setting is set to false, the user is assigned the role of Admin of the default organization, but not server administrator privileges.

allow_assign_grafana_admin = true

Example:

role_attribute_path = contains(info.roles[*], 'admin') && 'GrafanaAdmin' || contains(info.roles[*], 'editor') && 'Editor' || 'Viewer'

Team synchronization

Available in Grafana Enterprise v8.1 and later versions.

With Team Sync you can map your Generic OAuth groups to teams in Grafana so that the users are automatically added to the correct teams.

Generic OAuth groups can be referenced by group ID, like 8bab1c86-8fba-33e5-2089-1d1c80ec267d or myteam.

Learn more about Team Sync

Config:

groups_attribute_path = info.groups

Payload:

(Video) Site-2-Site OAuth Authentication - From Scratch with C# and Business Central

{ ... "info": { ... "groups": [ "engineers", "analysts", ], ... }, ...}

FAQs

What is generic OAuth? ›

OAuth is a service that is used to grant access to applications without using a password. In FlowBuilder, you can now set up a generic OAuth integration to make authenticated requests to third-party applications.

How do I configure OAuth? ›

Configure OAuth consent & register your app

In the Google Cloud console, go to Menu menu > APIs & Services > OAuth consent screen. Select the user type for your app, then click Create. Complete the app registration form, then click Save and Continue.

How do I authenticate OAuth? ›

In general, OAuth authentication follows a six step pattern:
  1. An application requests authorization on a user's behalf.
  2. The application obtains a Grant Token.
  3. The client requests an access token by using the Grant Token.
  4. The authorization server validates the Grant Token and issues an Access Token and a Refresh Token.

How do I enable OAuth in Grafana? ›

Set up OAuth2 with OneLogin

Create a new Custom Connector with the following settings: Name: Grafana. Sign On Method: OpenID Connect. Redirect URI: https://<grafana domain>/login/generic_oauth.

Is OAuth authentication or authorization? ›

Principles of OAuth2.

OAuth 2.0 is an authorization protocol and NOT an authentication protocol. As such, it is designed primarily as a means of granting access to a set of resources, for example, remote APIs or user's data. OAuth 2.0 uses Access Tokens.

Is OAuth a protocol or framework? ›

OAuth is an open-standard authorization protocol or framework that describes how unrelated servers and services can safely allow authenticated access to their assets without actually sharing the initial, related, single logon credential.

What is OAuth example? ›

OAuth is an open-standard authorization protocol or framework that provides applications the ability for “secure designated access.” For example, you can tell Facebook that it's OK for ESPN.com to access your profile or post updates to your timeline without having to give ESPN your Facebook password.

How do I add OAuth to my API? ›

Creating an OAuth 2.0 provider API
  1. In a command window, change to the project folder that you created in the tutorial Tutorial: Creating an invoke REST API definition.
  2. In the API Designer, click the APIs tab.
  3. Click Add > OAuth 2.0 Provider API.
  4. Complete the fields according to the following table: ...
  5. Click Create API.
Aug 17, 2022

Why we use OAuth 2.0 authorization? ›

This OAuth 2.0 flow is specifically for user authorization. It is designed for applications that can store confidential information and maintain state. A properly authorized web server application can access an API while the user interacts with the application or after the user has left the application.

What are OAuth scopes? ›

OAuth 2.0 scopes provide a way to limit the amount of access that is granted to an access token. For example, an access token issued to a client app may be granted READ and WRITE access to protected resources, or just READ access. You can implement your APIs to enforce any scope or combination of scopes you wish.

What is OAuth in Azure? ›

The OAuth 2.0 is the industry protocol for authorization. It allows a user to grant limited access to its protected resources. Designed to work specifically with Hypertext Transfer Protocol (HTTP), OAuth separates the role of the client from the resource owner.

How do I enable SSO in Grafana? ›

Test the Amazon Managed Grafana SSO configuration
  1. Step 1: Add the Amazon Managed Grafana web app template.
  2. Step 2: Configure the Settings page.
  3. Step 3: Configure the Trust page.
  4. Step 4: Configure the SAML Response page.
  5. Step 5: Configure the Permissions page to grant Amazon Managed Grafana users SSO access.

What is difference between OAuth and OAuth2? ›

OAuth2 has delegated this part of the security to transfer over HTTPS. This means while OAuth1 is protocol-independent, OAuth2 requests must be sent over SSL. Since TLS already provides transport-level message privacy and integrity, some question the merit of arguably redundant client-side signing and argument sorting.

What is OAuth authentication in API? ›

OAuth is a delegated authorization framework for REST/APIs. It enables apps to obtain limited access (scopes) to a user's data without giving away a user's password. It decouples authentication from authorization and supports multiple use cases addressing different device capabilities.

What is OAuth 2.0 authentication and how it works? ›

The OAuth (open authorization) protocol was developed by the Internet Engineering Task Force and enables secure delegated access. It lets an application access a resource that is controlled by someone else (end user). This kind of access requires Tokens, which represent delegated right of access.

Why OAuth is not good for authentication? ›

Let's start with the biggest reason why OAuth isn't authentication: access tokens are not intended for the client application. When an authorization server issues an access token, the intended audience is the protected resource. After all, this is what the token is providing access to.

Why is OAuth better than basic authentication? ›

To ensure better protection of your online accounts, OAuth is the way to go because, unlike Basic Auth, it doesn't give away your password. That's because OAuth is more of an authorization framework. This keeps your credentials safe.

Is OAuth same as SSO? ›

To Start, OAuth is not the same thing as Single Sign On (SSO). While they have some similarities — they are very different. OAuth is an authorization protocol. SSO is a high-level term used to describe a scenario in which a user uses the same credentials to access multiple domains.

What are the main components of OAuth? ›

The main components of the OAuth 2 architecture are the resource owner, the Client, the authorization server, and the resource server. Each of them has its own responsibility, essential in the authentication and authorization process.

What port does OAuth use? ›

By default, the OAuth Toolkit policies are configured to use Port 8443 for HTTPS communication.

Does OAuth use JWT? ›

OAuth is an authorization protocol that can use JWT as a token. OAuth uses server-side and client-side storage. If you want to do real logout you must go with OAuth2. Authentication with JWT token can not logout actually.

What is difference between OAuth and JWT? ›

JWT token vs oauth token: JWT defines a token format while OAuth deals in defining authorization protocols. JWT is simple and easy to learn from the initial stage while OAuth is complex. OAuth uses both client-side and server-side storage while JWT must use only client-side storage. JWT has limited scope and use cases.

Why is OAuth more secure? ›

When you compare both methods of authentication, OAuth 2.0 provides better security than basic authentication because its initial requests for credentials are made under the SSL protocol and its access object is a transitory token.

What is OAuth domain name? ›

The OAuth domain name is the domain name that will be used to restrict the value of the redirect_uri parameter when authenticating from your application.

How does OAuth work in REST API? ›

OAuth is an authorization framework that enables an application or service to obtain limited access to a protected HTTP resource. To use REST APIs with OAuth in Oracle Integration, you need to register your Oracle Integration instance as a trusted application in Oracle Identity Cloud Service.

How can I get OAuth authorization code? ›

Basic steps
  1. Obtain OAuth 2.0 credentials from the Google API Console. ...
  2. Obtain an access token from the Google Authorization Server. ...
  3. Examine scopes of access granted by the user. ...
  4. Send the access token to an API. ...
  5. Refresh the access token, if necessary.

How do I add authentication to REST API? ›

There are various authentication methods for REST APIs, ranging from basic credentials and token encryption to complex, multilayered access control and permissions validation.
  1. Basic authentication. ...
  2. API keys. ...
  3. HMAC encryption. ...
  4. OAuth 2.0. ...
  5. OpenID Connect. ...
  6. Choosing a REST API authentication approach.
May 23, 2022

What is the difference between authentication and authorization? ›

Authentication verifies the identity of a user or service, and authorization determines their access rights. Although the two terms sound alike, they play separate but equally essential roles in securing applications and data. Understanding the difference is crucial. Combined, they determine the security of a system.

What is OAuth stands for? ›

OAuth (Open Authorization) is an open standard authorization framework for token-based authorization on the internet.

Should I use OAuth2 for my API? ›

You only really need OAuth2 and OpenID Connect if you'd like your users to give consent ("i.e. I want to allow this app access to my personal data"). You do not need OAuth2 to generate a JSON Web Token, a Personal Access Token, a Native Mobile App Session Token.

What are grant types in OAuth? ›

The most common OAuth grant types are listed below. Authorization Code. PKCE. Client Credentials. Device Code.

What is ID token and access token? ›

Information in ID Tokens allows the client to verify that a user is who they claim to be. ID tokens are intended to be understood by third-party applications. ID tokens should not be used for authorization purposes. Access tokens are used for authorization.

What are scopes in API? ›

Scopes enable you to group a set of REST resources, methods, or both, and SOAP operations for an API. A scope consists of a name, description, and zero or more resources, methods, or operations. An API can have zero or more scopes. You can define a set of policies and configure its properties for each individual scope.

How do I set up Azure OAuth? ›

Step 1: Configure the OAuth Resource in Azure AD
  1. Navigate to the Microsoft Azure Portal and authenticate.
  2. Navigate to Azure Active Directory.
  3. Click on App Registrations.
  4. Click on New Registration.
  5. Enter Snowflake OAuth Resource , or similar value as the Name.
  6. Verify the Supported account types is set to Single Tenant.

What is the difference between SAML and OAuth? ›

Security assertion markup language (SAML) is an authentication process. Head to work in the morning and log into your computer, and you've likely used SAML. Open authorization (OAuth) is an authorization process. Use it to jump from one service to another without tapping in a new username and password.

How can I check my OAuth token? ›

The token can be verified via introspect endpoint or by signature. The most common way to build built-in token verification into the system is to introspect the token on the API Gateway and verify the signature on other services.

Does Grafana support SSO? ›

Single Sign-On (SSO) solution by miniOrange provides secure Single Sign-On access into Grafana using a single set of login credentials. You can log into Grafana using miniOrange credentials or Azure AD credentials or any of your existing identity providers.

How does SAML authentication works? ›

SAML works by exchanging user information, such as logins, authentication state, identifiers, and other relevant attributes between the identity and service provider. As a result, it simplifies and secures the authentication process as the user only needs to log in once with a single set of authentication credentials.

Does Grafana have an API? ›

Dashboard HTTP API | Grafana documentation. Free Forever plan: 10,000 series metrics.

What is OAuth in simple words? ›

OAuth (pronounced “oh-auth”) is a technological standard that allows you to share information between services without exposing your password. It's a widely-adopted standard that's used by developers of websites and apps, and you probably use services every day that utilize OAuth.

What is the difference between basic auth and OAuth2? ›

Unlike Basic Auth, where you have to share your password with people who need to access your user account, OAuth doesn't share password data. Instead, OAuth uses authorization tokens to verify an identity between consumers and service providers.

What is OAuth stands for? ›

OAuth (Open Authorization) is an open standard authorization framework for token-based authorization on the internet.

What is the difference between OAuth and OAuth2? ›

OAuth2 has delegated this part of the security to transfer over HTTPS. This means while OAuth1 is protocol-independent, OAuth2 requests must be sent over SSL. Since TLS already provides transport-level message privacy and integrity, some question the merit of arguably redundant client-side signing and argument sorting.

Is OAuth same as SSO? ›

To Start, OAuth is not the same thing as Single Sign On (SSO). While they have some similarities — they are very different. OAuth is an authorization protocol. SSO is a high-level term used to describe a scenario in which a user uses the same credentials to access multiple domains.

Why do we need OAuth? ›

OAuth 2.0 is a secure, open data sharing standard that should be built into every app. This authentication and authorization standard protects user data by providing access to the data without revealing the user's identity or credentials.

What is OAuth in REST API? ›

OAuth is an authorization framework that enables an application or service to obtain limited access to a protected HTTP resource. To use REST APIs with OAuth in Oracle Integration, you need to register your Oracle Integration instance as a trusted application in Oracle Identity Cloud Service.

Why you should not use Basic Auth? ›

Basic authentication is vulnerable to replay attacks. Because basic authentication does not encrypt user credentials, it is important that traffic always be sent over an encrypted SSL session. A user authenticating with basic authentication must provide a valid username and password.

Is Basic Auth less secure than OAuth? ›

When you compare both methods of authentication, OAuth 2.0 provides better security than basic authentication because its initial requests for credentials are made under the SSL protocol and its access object is a transitory token.

Is OAuth a token based authentication? ›

Connections Mobile supports OAuth 2.0 token-based authentication using the internet standard RFC 6749 – The OAuth 2.0 Authorization Framework. Because Connections Mobile is a public application available on public app stores, it implements the Authorization Code Grant Flow to an Authorization Server.

What is difference between OAuth and JWT? ›

JWT token vs oauth token: JWT defines a token format while OAuth deals in defining authorization protocols. JWT is simple and easy to learn from the initial stage while OAuth is complex. OAuth uses both client-side and server-side storage while JWT must use only client-side storage. JWT has limited scope and use cases.

What is OAuth client ID? ›

The client_id is a public identifier for apps. Even though it's public, it's best that it isn't guessable by third parties, so many implementations use something like a 32-character hex string. If the client ID is guessable, it makes it slightly easier to craft phishing attacks against arbitrary applications.

What exactly is OAuth open authorization? ›

OAuth ("Open Authorization") is an open standard for access delegation, commonly used as a way for internet users to grant websites or applications access to their information on other websites but without giving them the passwords.

Is OAuth an API? ›

OAuth is a delegated authorization framework for REST/APIs. It enables apps to obtain limited access (scopes) to a user's data without giving away a user's password. It decouples authentication from authorization and supports multiple use cases addressing different device capabilities.

Should I use JWT or OAuth2? ›

If you want to provide an API to 3rd party clients, you must use OAuth2 also. OAuth2 is very flexible. JWT implementation is very easy and does not take long to implement. If your application needs this sort of flexibility, you should go with OAuth2.

How does OAuth 2.0 authentication work? ›

How OAuth Works
  1. Step 1 – The User Shows Intent.
  2. Step 2 – The Consumer Gets Permission.
  3. Step 3 – The User Is Redirected to the Service Provider.
  4. Step 4 – The User Gives Permission.
  5. Step 5 – The Consumer Obtains an Access Token.
  6. Step 6 – The Consumer Accesses the Protected Resource.
Jun 11, 2013

Videos

1. Securing API Access with OAuth and Open ID Connect | Friends of Max Demonstration
(MuleSoft Videos)
2. Adding OAuth authentication to a PowerShell module
(ThePoShWolf)
3. Google Services API OAuth 2.0 Authentication with python ( 2021 ) | pydrive | #pyGuru
(pyGuru)
4. How to Hack OAuth
(OktaDev)
5. Generic OAuth2 Token for REST Connector
(AgilePoint NX Blog)
6. Learn about GitLab OmniAuth
(GitLab Unfiltered)
Top Articles
Latest Posts
Article information

Author: Allyn Kozey

Last Updated: 02/06/2023

Views: 6374

Rating: 4.2 / 5 (43 voted)

Reviews: 82% of readers found this page helpful

Author information

Name: Allyn Kozey

Birthday: 1993-12-21

Address: Suite 454 40343 Larson Union, Port Melia, TX 16164

Phone: +2456904400762

Job: Investor Administrator

Hobby: Sketching, Puzzles, Pet, Mountaineering, Skydiving, Dowsing, Sports

Introduction: My name is Allyn Kozey, I am a outstanding, colorful, adventurous, encouraging, zealous, tender, helpful person who loves writing and wants to share my knowledge and understanding with you.