Auth0 Flashcards

1
Q

What is Auth0?

A

Auth0 is an identity management platform that provides authentication and authorization services for applications.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is a Tenant in Auth0?

A

A tenant in Auth0 is a logically isolated instance used to manage applications, users, and configurations.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is an Organization in Auth0?

A

An organization in Auth0 represents a business entity, grouping users for management, and enabling multi-tenancy within a single Auth0 tenant.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What is Authentication in Auth0?

A

Authentication is the process of verifying a user’s identity, typically through login credentials, in Auth0.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is Authorization in Auth0?

A

Authorization is the process of granting authenticated users permission to access resources or perform actions in Auth0.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What is Single Sign-On (SSO) in Auth0?

A

SSO allows users to log in once and access multiple applications without re-authenticating, supported by Auth0.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is a JSON Web Token (JWT) in Auth0?

A

JWT is a compact, URL-safe token used in Auth0 to securely transmit information between parties as a JSON object.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is Multi-Factor Authentication (MFA) in Auth0?

A

MFA is an additional security layer requiring users to provide two or more verification factors to gain access, supported by Auth0.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What are Rules in Auth0?

A

Rules are JavaScript functions that execute when a user authenticates, allowing customizations and extensions in Auth0.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What are Hooks in Auth0?

A

Hooks are serverless functions that run at specific extension points, such as pre-registration or post-change password events in Auth0.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What is Universal Login in Auth0?

A

Universal Login provides a centralized login page hosted by Auth0, offering a consistent authentication experience.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What are Social Connections in Auth0?

A

Social connections allow users to log in with their social media accounts like Facebook or Google, supported by Auth0.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What are Enterprise Connections in Auth0?

A

Enterprise connections enable users to authenticate with enterprise identity providers like Active Directory or SAML, supported by Auth0.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is a User Profile in Auth0?

A

A user profile in Auth0 is a collection of information received after a user’s authentication, including user metadata and app metadata.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What is Role-Based Access Control (RBAC) in Auth0?

A

RBAC in Auth0 controls access to resources based on roles assigned to users, managing permissions centrally.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is an API Token in Auth0?

A

An API token is a credential used to authenticate requests to the Auth0 Management API, allowing programmatic access to Auth0 resources.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

What is a Custom Domain in Auth0?

A

A custom domain allows you to use your domain name for the Auth0 hosted login page, improving brand consistency.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What is a Guardian in Auth0?

A

Guardian is Auth0’s MFA service, providing various factors like push notifications, SMS, and OTP for enhanced security.

19
Q

What is an Action in Auth0?

A

Actions are secure, tenant-specific, and versioned functions that allow you to customize the behavior of Auth0 at different points in the authentication and authorization process.

20
Q

What is the Auth0 Management API?

A

The Auth0 Management API is an interface for programmatically interacting with Auth0 to manage resources like users, roles, and configurations.

21
Q

What is a Connection in Auth0?

A

Relationship between Auth0 and the sources of users for your applications. Examples include identity providers (such as Google or Active Directory), passwordless authentication methods, or user databases.

22
Q

What’s an Audience in Auth0?

A

Unique identifier of the audience for an issued token, identified within a JSON Web Token as the aud claim. The audience value is either the application (Client ID) for an ID Token or the API that is being called (API Identifier) for an Access Token. At Auth0, the Audience value sent in a request for an Access Token dictates whether that token is returned in an opaque or JWT format

23
Q

To invite members to an organization, they must accept the invitation from one of your organization-enabled __________.

A

“Applications”: To invite members to an organization, they must accept the invitation from one of your organization-enabled applications.

For instance, you could have an Auth0 application that “represents” your companies “system”.

24
Q

When creating an invites, you can specify:

A

The email of the user to invite, the connection (google-auth/user-password/etc.) and the role

25
Q

What are Grant Types in Auth0?

A

In the context of Auth0 and OAuth 2.0, grant types are methods through which an application can obtain authorization to access resources on behalf of a user or itself. Each grant type is designed for a specific use case, catering to different types of applications and security requirements

26
Q

What is an Auth0 Management API Token?

A

An Auth0 Management API token is a type of JSON Web Token (JWT) that grants authorized access to the Auth0 Management API, which allows for programmatic control over Auth0’s various functionalities. This token is used to authenticate and authorize the API calls made by your applications or services to manage Auth0 resources such as users, roles, rules, and more.

27
Q

What are some key aspects of the Auth0 Management API Token?

A

Scope: The token includes specific permissions, known as scopes, that define the actions allowed (e.g., read users, update configurations). The scopes ensure that the token can only be used for the intended operations, adhering to the principle of least privilege.

Security: The token is securely obtained through an authentication process, typically involving the client credentials grant flow, where the requesting application authenticates with its client ID and client secret.

Expiration: Management API tokens are short-lived for security reasons, meaning they expire after a set period. Once expired, a new token must be obtained for continued access to the Management API.

Usage: The token is included in the Authorization header of HTTP requests made to the Management API, allowing Auth0 to authenticate and authorize the request based on the token's scopes and validity.
28
Q

What’s the “Client Credentials Grant” flow?

A

The Client Credentials Grant flow is an OAuth 2.0 authentication mechanism that allows an application to obtain an access token using its own credentials, rather than acting on behalf of a user. This flow is typically used for server-to-server communication where the client (the application making the request) is also the resource owner, needing access to protected resources or APIs without user interaction.

In this flow, the application authenticates with the authorization server using its client_id and client_secret. Upon successful authentication, the authorization server issues an access token. The application can then use this token to make authenticated requests to the resource server.

The Client Credentials Grant flow is suitable for confidential clients (applications able to securely store credentials) and is commonly used for backend services, machine-to-machine communications, and situations where user delegation is not required.

29
Q

What is a “role” in Auth0?

A

Aspect of a user’s identity assigned to the user to indicate the level of access they should have to the system. Roles are essentially collections of permissions.

30
Q

What is an “Application” in Auth0?

A

Your software that relies on Auth0 for authentication and identity management. Auth0 supports single-page, regular web, native, and machine-to-machine applications.

31
Q

In Auth0, what’s the difference between an Application and an API?

A

An API represents a set of operations that external clients can perform. It’s typically a backend service that provides data and functionality to other applications, services, or users over the internet, often using HTTP/HTTPS protocols.

An Application in Auth0 represents a client that requests access to an API. It could be a web app, a single-page app (SPA), a mobile app, a server-side application, or even a machine-to-machine (M2M) service

31
Q

In OAuth 2.0 terminology, what is the Resource Owner?

A

Entity that can grant access to a protected resource. Typically, this is the end-user.

32
Q

In OAuth 2.0 terminology, what is the Client?

A

Application requesting access to a protected resource on behalf of the Resource Owner.

(Client doesn’t refer to the end-user)

33
Q

In OAuth 2.0 terminology, what is the Resource Server?

A

Server hosting the protected resources. This is the API you want to access.

For instance, it could be your own backend API.

34
Q

In OAuth 2.0 terminology, what is the Authorization Server?

A

The server that authenticates the Resource Owner and issues Access Tokens after getting proper authorization.

In our case, Auth0.

35
Q

In OAuth 2.0 terminology, what is the User Agent?

A

Agent used by the Resource Owner to interact with the Client (for example, a browser or a native application).

36
Q

When to use the OAuth 2.0 “Client Credentials Flow”?

A

When the party that requires access to the resources is a machine.
The Client is also the Resource Owner, so no end-user authorization is required.
An example is a cron job that uses an API to import information to a database.
In this case, the cron job is the Client and the Resource Owner since it holds the Client ID and Client Secret to get Access Tokens from the Authorization Server.

37
Q

When to use the OAuth 2.0, “Authorization Code Flow”?

A

If the Client is a regular web app executing on a server.
Using this, the Client can retrieve an Access Token and, optionally, a Refresh Token.
This is the safest choice since the AT is passed directly to the web server hosting the Client, without going through the user’s web browser (User Agent) and risking exposure.

38
Q

When to use the OAuth 2.0 Resource Owner Password Flow?

A

When the Client is absolutely trusted with user credentials.
The end-user (human) is asked to fill in credentials (username/password), typically using an interactive form.
This info is sent to the backend and from there to Auth0. It is therefore imperative that the Client is absolutely trusted with this information.

Should only be used when redirect-based flows are not possible.

39
Q

When to use the OAuth 2.0 Authorization Code Fow with Proof Key for Code Exchange (PKCE)?

A
  • If the client is a Single-Page App (SPA), an application running in a browser using a scripting language like JavaScript. The Access Token is not exposed on the client side and this flow can return Refresh Tokens.
  • When the Client is a Native/Mobile app
40
Q

In OAuth 2.0, what is a Refresh Token?

A

Is a credential artifact that OAuth can use to get a new access token without user interaction.

41
Q

When to use OAuth 2.0 Implicit Flow With Form Post?

A

When you Client is a SPA but doesn’t need an Access Token.

42
Q
A