Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Infura dashboard updates #1724

Merged
merged 9 commits into from
Nov 13, 2024
Merged
Show file tree
Hide file tree
Changes from 5 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 7 additions & 16 deletions developer-tools/dashboard/get-started/create-api.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,27 +20,18 @@ For more information, see to the [Infura pricing page](https://www.infura.io/pri
Infura allows you to enable multiple network endpoints and expansion APIs for your API key. If calls are
made to a disabled network or service, then all requests to that network or service will fail.

To keep your account secure and cost effective, add only the necessary endpoints, as some have usage limits or charges based
on request volume.
To keep your account secure and cost effective, add only the necessary endpoints, as some have usage
limits or charges based on request volume.

To create an API key:

1. Open the [Infura dashboard](https://infura.io/dashboard). Enter your login details, if required.
1. Select **CREATE NEW API KEY**.

<div class="left-align-container">
<div class="img-large">
<img
src={require("../../images/create_key.png").default}
/>
</div>
</div>

1. From the pop-up window, provide a name, then click **CREATE**.
1. Open the [MetaMask Developer dashboard](https://infura.io/dashboard). Enter your login details, if required.
1. In the top right corner, select **Create new API key**.
1. From the pop-up window, provide a name, then click **Create**.
1. Select the networks that you want your API key to access, and select **Save Changes**.

You can [configure additional security](../how-to/secure-an-api/api-key-secret.md) for your API key by requiring an API key secret or JWTs with
each API request.
You can [configure additional security](../how-to/secure-an-api/api-key-secret.md) for your API key by
requiring an API key secret or JWTs with each API request.

## Best practices for configuring API key endpoints

Expand Down
2 changes: 1 addition & 1 deletion developer-tools/dashboard/how-to/credit-usage.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ description: View your Infura credit usage stats.
You can view your daily credit usage in relation to your daily credit quota limit. Daily credit usage
counts are reset everyday at 00:00 UTC for all customers.

Select **View Usage** from the **Daily Credit Usage** section on the Infura dashboard, or select
Select **View Usage** from the **Daily Credit Usage** section on the dashboard, or select
the **Usage** tab from the **Settings** > **Billing** dropdown.

View your usage for the previous 24 hours, 7 days, or 30 days by methods used, networks, or API key.
Expand Down
2 changes: 1 addition & 1 deletion developer-tools/dashboard/how-to/dashboard-stats.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ This data is crucial for optimizing your applications and ensuring they run smoo

## Specify stats to view

1. In the top menu of the [Infura dashboard](https://app.infura.io/), select **Stats**.
1. In the left menu of the [MetaMask Developer dashboard](https://developer.metamask.io/), select **Stats**.
The stats page displays the total volume of requests sent to Infura over the specified time period.
By default, data is shown from the last 24 hours from all Web3 API keys.

Expand Down
4 changes: 2 additions & 2 deletions developer-tools/dashboard/how-to/network-status.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@ sidebar_position: 8

# View the network status

View the [Infura status page](https://status.infura.io/) to check for service outages and other incidents, as well as
View the [Infura status page](https://status.infura.io/) to check for service outages, incidents, and
scheduled maintenance notices. You can also subscribe to status updates via email, SMS, webhook, Slack, and Atom/RSS.

You can also select the **Status** link at the top of the Infura dashboard to view the status page.
You can also select the **Status** link on the left of the MetaMask Developer dashboard to view the status page.

<div class="left-align-container">
<div class="img-medium">
Expand Down
22 changes: 7 additions & 15 deletions developer-tools/dashboard/how-to/project-sharing.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ You can share access to your Infura API keys by inviting existing Infura account

To share an API key:

1. In the Infura dashboard, select the API that you want to share.
1. In the dashboard, select the API that you want to share.
1. Select the **API Key Sharing** tab.
1. Select **INVITE MEMBERS** in the top right.
1. Select **Invite Members** in the top right.

<div class="left-align-container">
<div class="img-large">
Expand All @@ -23,8 +23,8 @@ To share an API key:
</div>
</div>

1. Input one or more user emails, select the [user role](#user-roles), and select **SUBMIT**.
1. Confirm your email address and select **CONFIRM**.
1. Input one or more user emails, select the [user role](#user-roles), and select **Submit**.
1. Confirm your email address and select **Confirm**.

:::note

Expand Down Expand Up @@ -72,28 +72,20 @@ You can view all keys that you own, and all keys shared with you, by selecting *

## Update user role or remove user

1. In the Infura dashboard, select the API key that the user is assigned to.
1. In the dashboard, select the API key that the user is assigned to.
1. Select the **API Key Sharing** tab.
1. Select the vertical ellipsis icon next to the relevant user.

- To remove a user, select **Remove Member**. They are removed immediately.
- To update a user's role, select **Update Role**.

<div class="left-align-container">
<div class="img-large">
<img
src={require("../../images/update-role.png").default}
/>
</div>
</div>

1. Upgrade or downgrade accordingly and select **UPDATE ROLE**.
1. Upgrade or downgrade accordingly and select **Update Role**.

## Revoke or resend an invite

While invitations remain in a pending state, they can be revoked or sent again.

1. In the Infura dashboard, select the API key for the user.
1. In the dashboard, select the API key for the user.

1. Select the **API Key Sharing** tab.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ In the API key's **Settings** tab, select **Require API Key secret for all reque
<div class="left-align-container">
<div class="img-large">
<img
src={require("../../../images/security-page.png").default}
src={require("../../../images/settings-tab.png").default}
/>
</div>
</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ A request will fail if it does not have a valid API key appended to the request

:::

Select the API key in the Infura dashboard to view the key's details. The API key to include in your requests can be
Select the API key in the dashboard to view the key's details. The API key to include in your requests can be
copied at the top of the page.

Apply the principle of least privilege. Add only the endpoints that you plan to use, and then use the other
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,14 @@ Set rate limiting in the API key's **Settings** tab **Key Credit Limits** sectio
</div>
</div>

- **PER SECOND CREDIT RATE-LIMITING** restricts credits per second (throughput) for the API key. Set
- **Per second credit rate-limiting** restricts credits per second (throughput) for the API key. Set
the maximum number of credits per second in whole numbers. When credits per second rate exceeds
this value, requests are rejected. When the credit rate drops below the limit, requests
are accepted again.

The value `0` means default limits are applied.

- **PER DAY TOTAL CREDITS** restricts total daily credit usage for the API key. Set a limit on number of
- **Per day total credits** restricts total daily credit usage for the API key. Set a limit on number of
credits per day in integers, for example, 20000. The value `0` means default limits are applied.

When the number of used credits reach this limit, all requests will be rejected until the next day (00:00 UTC).
Original file line number Diff line number Diff line change
Expand Up @@ -29,16 +29,17 @@
#### Allowlist behavior

- If an API key has no allowlists, all requests are accepted.
- As soon as an API key has an allowlist definition, all requests must pass it.
- When an API key has an allowlist definition, all requests must pass the definition.
- Each API key has a maximum of 30 allowlist entries per type.
- Each allowlist type is "AND"ed together.
- Multiple entries of the same type are "OR"ed.

## Contract addresses

If your application only queries data from specific Ethereum smart contracts or addresses, add those addresses to the **CONTRACT ADDRESSES** allowlist.
If your application only queries data from specific Ethereum smart contracts or addresses, add those
addresses to the **Contract Addresses** allowlist.

Any requests which query addresses that are not in the allowlist are rejected.
Any requests which query addresses that aren't in the allowlist are rejected.

The following RPC methods take an Ethereum address parameter and are compatible with this type of allowlisting.

Expand All @@ -52,7 +53,8 @@

#### Example request

To allow a specific Ethereum address, click **ADD** and input it into the **CONTRACT ADDRESSES** allowlist.
To allow a specific Ethereum address, input it into the **Contract Addresses** field and select **Add**.
In the following example we'll use `0xfe05a3e72235c9f92fd9f2282f41a8154`.

<div class="left-align-container">
<div class="img-medium">
Expand All @@ -62,7 +64,7 @@
</div>
</div>

Test with a method from the list.
You can test using a method that supports this type of allowlisting.

```bash
curl https://mainnet.infura.io/v3/<YOUR-API-KEY> \
Expand All @@ -83,7 +85,7 @@

## User agents

To limit access to your application to specific user agents, add them to the **USER AGENTS** allowlist.
To limit access to your application to specific user agents, add them to the **User agents** allowlist.

:::info

Expand All @@ -95,15 +97,15 @@

:::info

The **USER AGENTS** allowlist uses partial string matching. If the allowlisted string is present in the
request's full User-Agent, it is registered as a match.
The **User agents** allowlist uses partial string matching, meaning if the string is present in the
request's full User-Agent, it's registered as a match.

Check warning on line 101 in developer-tools/dashboard/how-to/secure-an-api/use-an-allowlist.md

View workflow job for this annotation

GitHub Actions / Lint / Spelling (.md)

[vale] reported by reviewdog 🐶 [Microsoft.Terms] Prefer 'personal digital assistant' over 'Agent'. Raw Output: {"message": "[Microsoft.Terms] Prefer 'personal digital assistant' over 'Agent'.", "location": {"path": "developer-tools/dashboard/how-to/secure-an-api/use-an-allowlist.md", "range": {"start": {"line": 101, "column": 21}}}, "severity": "WARNING"}

:::

#### Example request

For example, to allow requests from Android phones alone, select **ADD** and input `Android` into
the **USER AGENTS** allowlist.
For example, to allow requests from Android phones alone, input `Android` into
the **User agent** field, and select **Add**.

Check warning on line 108 in developer-tools/dashboard/how-to/secure-an-api/use-an-allowlist.md

View workflow job for this annotation

GitHub Actions / Lint / Spelling (.md)

[vale] reported by reviewdog 🐶 [Microsoft.Terms] Prefer 'personal digital assistant' over 'agent'. Raw Output: {"message": "[Microsoft.Terms] Prefer 'personal digital assistant' over 'agent'.", "location": {"path": "developer-tools/dashboard/how-to/secure-an-api/use-an-allowlist.md", "range": {"start": {"line": 108, "column": 12}}}, "severity": "WARNING"}

<div class="left-align-container">
<div class="img-medium">
Expand All @@ -113,7 +115,7 @@
</div>
</div>

Test with a simple call from a desktop terminal.
Test with a call from a desktop terminal.

```bash
curl https://mainnet.infura.io/v3/<YOUR-API-KEY> \
Expand All @@ -136,7 +138,7 @@

## Origins

To limit access to your application to specific URLs, add them to the **ORIGINS** allowlist.
To limit access to your application to specific URLs, add them to the **Origins** allowlist.

:::info

Expand All @@ -148,7 +150,7 @@

Origin allowlists support wildcard subdomain patterns.

For example, allowlist entry `https://*.example.com` matches `https://your-app.example.com` ,
For example, allowlist entry `https://*.example.com` matches `https://your-app.example.com`,
`https://our-app.example.com`, and `https://their-app.example.com`, etc.

The origin scheme (HTTPS in the example above) is optional. However, if you include it, it must match.
Expand All @@ -161,25 +163,14 @@

#### Example request

To limit requests to your hosted web3 application, click **ADD** and input `mydapp.example.com` into the **ORIGINS** allowlist.

Any requests that do not include `Origin: mydapp.example.com` are rejected.
To limit requests to your hosted Web3 application, input `mydapp.example.com` into the **Origins**
field, and select **Add**. Any requests that don't include `Origin: mydapp.example.com` are rejected.

## API request method

To limit the methods allowed, add them to the **API REQUEST METHOD** allowlist.

If the list is not empty, any method calls not specified in the list are rejected.

Use the dropdown list to select a method.
To limit the methods allowed, select them from the **API request method** drop down.

<div class="left-align-container">
<div class="img-medium">
<img
src={require("../../../images/api-request-method.png").default}
/>
</div>
</div>
If the list isn't empty, any method calls not specified in the list are rejected.

## Override your allowlist settings

Expand Down
4 changes: 2 additions & 2 deletions developer-tools/dashboard/how-to/secure-an-api/use-jwts.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ description: Use JSON Web Tokens to authorize users and external parties.

# JWTs

Enable JSON Web Tokens (JWTs) for all requests in the **REQUIREMENTS** section of your API key's security settings.
Enable JSON Web Tokens (JWTs) for all requests in the API key's **Settings** tab.

Input the **JWT PUBLIC KEY NAME** and the key and select **ADD**.
Input the **JWT Public key name** and the key and select **Add**.

<div class="left-align-container">
<div class="img-medium">
Expand Down
21 changes: 4 additions & 17 deletions developer-tools/dashboard/how-to/submit-a-help-ticket.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,10 @@ description: Submit a help ticket

To request help from the Infura customer support team, submit a help ticket using the following steps:

1. In the top menu of the [Infura dashboard](https://app.infura.io/), select **Help**.
This opens the [Infura Help Center](https://support.infura.io/), which contains a
1. In the left menu of the [MetaMask Developer dashboard](https://developer.metamask.io/), select **Help**.
This opens the [Help Center](https://support.infura.io/), which contains a
knowledge base of answers to common questions about using Infura.
Search for your question in the Help Center.

2. If you can't find what you're looking for, in the bottom right corner, select **Support**.

3. In the ticket form that pops up, enter the following information:

- **Name and email address** - Include your contact information so the Infura customer support
team can respond to you.
- **Ticket type** - Select only the area that relates to your issue.
- **Subject and description** - Include a specific subject and description for your issue.
Include details such as what request you ran when you encountered the issue, what API key you
used, and what the issue or error looks like.
Be as detailed as possible.
- **Attachments** - Attach up to five files, such as screenshots, to help demonstrate your issue.

4. Select **Send** to submit your ticket.
Someone from the Infura customer support team will respond to your ticket as soon as possible.
2. If you can't find what you're looking for, in the bottom right corner, select **Support** to
submit a ticket.
44 changes: 36 additions & 8 deletions developer-tools/dashboard/how-to/two-factor-authentication.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,32 @@ sidebar_position: 4

# Set up two-factor authentication

Two-factor authentication (2FA) is a security measure that adds an extra layer of protection to your online accounts. It requires you to provide two types of identification factors to verify your identity before you can access your accounts.
Two-factor authentication (2FA) is a security measure that adds an extra layer of protection to
your online accounts. It requires you to provide two types of identification factors to verify your
identity before you can access your accounts.

## Enable 2FA on your account

To enable 2FA authentication on your account, on the Infura dashboard go to **Settings** -> **Account**, and select **Enable**.
To enable 2FA authentication on your account, on the dashboard go to **Settings** -> **Account**, and
select **Enable**.

![](../../images/enable2fa.png)
<div class="left-align-container">
<div class="img-large">
<img
src={require("../../images/enable2fa.png").default}
/>
</div>
</div>

Scan the QR code with your authenticator, and enter the initial six-digit token. Select **Verify** to proceed.

![](../../images/enter_token.png)
<div class="left-align-container">
<div class="img-medium">
<img
src={require("../../images/enter_token.png").default}
/>
</div>
</div>

:::warning

Expand All @@ -27,21 +42,34 @@ If you ever lose access to your device, you can use this code to verify your ide

Select **Continue** to finish the process.

![](../../images/backup_code.png)
<div class="left-align-container">
<div class="img-medium">
<img
src={require("../../images/backup_code.png").default}
/>
</div>
</div>

:::info

Most password managers allow you to add secure notes to an entry; you can add the backup code to the Infura login entry. Alternatively, write it down and store it somewhere safe.
Most password managers allow you to add secure notes to an entry; you can add the backup code to the
Infura login entry. Alternatively, write it down and store it somewhere safe.

:::

Next time you log in to Infura, you'll be asked for your 2FA token in addition to your username and password.

## Disable 2FA on your account

To disable 2FA on your account, on the Infura dashboard go to **Settings** -> **Account**, and select **Disable 2FA**.
To disable 2FA on your account, on the dashboard go to **Settings** -> **Account**, and select **Disable 2FA**.

![](../../images/disable2fa.png)
<div class="left-align-container">
<div class="img-medium">
<img
src={require("../../images/disable2fa.png").default}
/>
</div>
</div>

## Lost your 2FA device?

Expand Down
Loading
Loading