Web authentication API: Difference between revisions
		
		
		
		Jump to navigation
		Jump to search
		
mNo edit summary  | 
				 Update to api_version 4  | 
				||
| Line 11: | Line 11: | ||
| username  | | username  | ||
| Required.  | | Required.  | ||
| Account username.  | | Account username or e-mail.  | ||
|-  | |-  | ||
| password  | | password  | ||
| Line 18: | Line 18: | ||
|-    | |-    | ||
| api_version  | | api_version  | ||
|   | | (Technically) not required. API responses will be different than described on this page when not set to 4.  | ||
| Currently   | | Currently 4.  | ||
|-  | |-  | ||
| require_game_ownership  | | require_game_ownership  | ||
| Not required.  | | Not required.  | ||
| If set to 'true', will fail authentication if the user account hasn't actually purchased Factorio.  | | 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 <code>email-authentication-required</code>, 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   | This endpoint always returns JSON encoded data. If authentication was successful, it will return an HTTP status code of 200 with a JSON object:  | ||
{| class="wikitable"  | |||
| 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:  | |||
{| class="wikitable"  | |||
| error  | |||
| Error codes like <code>login-failed</code> or <code>email-authentication-required</code>  | |||
|-  | |||
| message  | |||
| A more detailed error message that can be shown to the user   | |||
|}   | |||
Clients causing a lot of errors like <code>login-failed</code> will be rate limited.  | |||
[[Category:Technical]]  | [[Category:Technical]]  | ||
Revision as of 16:55, 7 March 2022
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 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.