2018-04-01 13:19:25 +02:00
---
title: complete_2FA_login
description: complete_2FA_login parameters, return type and example
---
## Method: complete_2FA_login
### Parameters:
| Name | Type |
|----------|---------------|
|password| A string with the password|
### Return type: [auth.Authorization](API_docs/types/auth_Authorization.md)
2019-06-01 18:08:28 +02:00
### Example ([now fully async!](https://docs.madelineproto.xyz/docs/ASYNC.html)):
2018-04-01 13:19:25 +02:00
2018-10-17 17:10:50 +02:00
```php
2019-06-01 18:08:28 +02:00
yield $MadelineProto->phone_login(readline('Enter your phone number: '));
$authorization = yield $MadelineProto->complete_phone_login(readline('Enter the code you received: '));
2018-04-01 13:19:25 +02:00
if ($authorization['_'] === 'account.noPassword') {
throw new \danog\MadelineProto\Exception('2FA is enabled but no password is set!');
}
if ($authorization['_'] === 'account.password') {
2019-06-01 18:08:28 +02:00
$authorization = yield $MadelineProto->complete_2fa_login(readline('Please enter your password (hint '.$authorization['hint'].'): '));
2018-04-01 13:19:25 +02:00
}
if ($authorization['_'] === 'account.needSignup') {
2019-06-01 18:08:28 +02:00
$authorization = yield $MadelineProto->complete_signup(readline('Please enter your first name: '), readline('Please enter your last name (can be empty): '));
2018-04-01 13:19:25 +02:00
}
```