Web authentication API: Difference between revisions
		
		
		
		Jump to navigation
		Jump to search
		
 Removed {{Languages}}  | 
				No edit summary  | 
				||
| Line 5: | Line 5: | ||
<code>https://auth.factorio.com/api-login</code>  | <code>https://auth.factorio.com/api-login</code>  | ||
Authentication requires sending an HTTP POST request with these parameters:  | Authentication requires sending an HTTP POST request (Content-Type: <code>application/x-www-form-urlencoded</code>) with these parameters:  | ||
{| class="wikitable"  | {| class="wikitable"  | ||
Revision as of 11:10, 26 August 2024
Category: Internal API
Factorio's Web Authentication API endpoint gives you a token in exchange for your username and password, which is used by several other Factorio web API endpoints. The authentication endpoint is located at:
https://auth.factorio.com/api-login
Authentication requires sending an HTTP POST request (Content-Type: application/x-www-form-urlencoded) with these parameters:
| username | Required. | Account username or e-mail. | 
| password | Required. | Account password. | 
| api_version | (Technically) not required. API responses will be different than described on this page when not set to 4. | Currently 4. | 
| require_game_ownership | Not required. | If set to 'true', will fail authentication if the user account hasn't actually purchased Factorio. | 
| email_authentication_code | Not required. | If a previous login failed with email-authentication-required, email authentication can be completed by including the code sent to the user via mail.
 | 
This endpoint always returns JSON encoded data. If authentication was successful, it will return an HTTP status code of 200 with a JSON object:
| token | Auth token is a hexadecimal encoded byte string | 
| username | The username of the logged in user. | 
On non-200 status codes, the response can be JSON encoded and provide more details about the problem:
| error | Error codes like login-failed or email-authentication-required
 | 
| message | A more detailed error message that can be shown to the user | 
Clients causing a lot of errors like login-failed will be rate limited.