Jump to content

API key

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Czcfggg (talk | contribs) at 14:37, 28 August 2024 (Creating an API Key). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

An application programming interface (API) key is a unique identifier used to authenticate and authorize a user, developer, or calling program to an API.[1] However, they are typically used to authenticate and authorize a project with the API rather than a human user.[1][2]

How to Generate an API Key

To generate an API key, go to your platform's API settings. Once you're there, look for the option that says "Create a new API Key" and click on it. A new key will be created for you, and it will show up on your screen. You'll also find a menu where you can assign specific roles to this key.

Usage

The API key often acts as both a unique identifier and a secret token for authentication and authorization, and will generally have a set of access rights on the API associated with it.[3]

HTTP APIs

API keys for HTTP-based APIs can be sent in multiple ways:[4]

In the query string:

POST /something?api_key=abcdef12345 HTTP/1.1

As a request header:

GET /something HTTP/1.1
X-API-Key: abcdef12345

As a cookie:

GET /something HTTP/1.1
Cookie: X-API-KEY=abcdef12345

Security

API keys are generally not considered secure; they are typically accessible to clients, making it easy for someone to steal an API key. Once the key is stolen, it has no expiration, so it may be used indefinitely, unless the project owner revokes or regenerates the key.[2] Since API keys must only be accessible to the client and server, authentication using API keys is only considered secure when used in conjunction with other security mechanisms such as HTTPS.[4]

Incidents

In 2017, Fallible, a Delaware-based security firm examined 16,000 android apps and identified over 300 which contained hard-coded API keys for services like Dropbox, Twitter, and Slack.[5]

References

  1. ^ a b "API Key - What is an API Key?". Last Call - RapidAPI Blog. Retrieved 2019-09-20.
  2. ^ a b "Why and when to use API keys | Cloud Endpoints with OpenAPI". Google Cloud. Retrieved 2019-09-20.
  3. ^ "Generating API Keys". www.ibm.com. 2018-06-12. Archived from the original on 2021-09-23. Retrieved 2023-04-03.
  4. ^ a b "API Keys". Archived from the original on 2019-10-17.
  5. ^ "Hundreds of popular Android apps contain hard-coded secret keys". ZDNet. Retrieved 2022-06-20.

Book sources