2017-11-28 20 views
0

임 2FA를 authy로 구현하고 authy php 라이브러리 및 authy API 키를 사용하여 authy에 사용자를 추가하면 사용자가 QR 코드를 스캔하고 전화에서 내 앱 인증을받을 수 있습니다.Authy 문서 Auth-Key 및 QR 코드

나는 library github page에서 언급 한대로 설명서를 작성했습니다. 사용자 데이터가 성공적으로 저장되고 있지만 임의의 숫자로 구성된 비밀 키 (사용자가 authy로 생성 한)를 데이터베이스에 저장할 수있는 비밀이 있습니다. 표시되는 앱에 해당 비밀번호를 입력하면 비밀 키가 잘못되었습니다 오류, 아래 스크린 샷 확인 내가 수동으로 응용 프로그램은 화면 아래

Authy app error

문서와 같은 오류를 보여주는 것을 입력하면

We need to enter secret something like this (Image included) 우리는 숫자의 비밀을 받고 비밀이 뭔가하지만 메신저를 입력 할 필요가

다음과 같다 0
require_once dirname(__DIR__) . '/extra/Authy/vendor/autoload.php'; 
$authy_api = new Authy\AuthyApi('MY_API_KEY'); 
$user = $authy_api->registerUser('[email protected]', '9999999999', 91); // (email, phone number, country code) 
if($user->ok()){ 
echo json_encode($user->id()); 
}else{ 
foreach($user->errors() as $field => $message) { 
printf("$field = $message"); 
} 
} 

다른 문제는 어떻게 Authy가 이해할 수있는 QR 코드를 생성 할 수 있습니까? 나는 몇몇을 찾았고 어떤 해결책도 얻지 못했습니다. 도와주세요.

답변

1

Twilio/Authy 개발자 전도사는 여기입니다.

죄송합니다. 여기에 문서가 조금 있습니다. 나는 도와 주겠다.

먼저,이 설명서를 two factor authentication with Twilio and Authy에서 살펴 보시기 바랍니다.

둘째, 내가 얻은 거리와 관련하여 Authy로 프로세스를 설명하겠습니다.

API와 자격 증명을 올바르게 설정 한 다음 $authy_api->registerUser에 대한 호출을 사용하여 사용자를 등록했습니다. 해당 응답에서받은 사용자 ID를 다른 사람과 공유해서는 안됩니다. Authy 데이터베이스에서 사용자를 참조하는 것입니다. 가입중인 사용자에 대해 해당 ID를 저장하고 코드를 보내거나 코드를 확인해야 할 때마다 해당 ID를 사용해야합니다.

QR 코드를 사용하여 사용자와 아무 것도 공유하지 않아도됩니다. 다시이 코드의 $usedID과 API에서받은 ID와

$authy_api->requestSMS($userID); 

: 지금 전화하는 데 필요한 두 가지 요소 인증 프로세스를 시작합니다.

메서드 호출은 SMS를 보낼 것이라고 제안하지만 이는 약간의 유산입니다. 사용자가 이미 Authy 모바일 응용 프로그램을 설치하고 로그인 및 자신의 전화 번호를 확인한 경우

  • 후 Authy은 그들이 당신을 보낼 필요가 코드와 해당 응용 프로그램에 푸시 알림을 보내드립니다. 귀하의 앱은 사용자가 아무 것도하지 않고도 Authy 앱에 표시됩니다 (특히 QR 코드 스캔).
  • 사용자가 Authy 앱을 설치하지 않은 경우 Authy가 코드와 함께 SMS 메시지를 보냅니다. SMS 메시지를 보내지 않으려면 사용자가 Authy 앱을 설치하도록 유도해야합니다.사용자가 사이트에 코드를 입력하면

마지막으로, verify the token에 호출해야합니다 :이 경우

$authy_api->verifyToken($userID, $token); 

을의 $userID 당신이 처음에하고 있음을 다시 registerUser 전화에서 가지고 그 ID는 사용자에게 저장됩니다. $token은 앱 또는 SMS에서 입력하는 코드입니다.

도움이되는지 또는 다른 질문이 있으면 알려주십시오.

+0

답장을 보내 주셔서 감사합니다. 하지만 해결책을 찾았습니다. 우선 QR 코드를 생성하고 사용자가 코드를 스캔하도록 할 수 있다고 생각했습니다. 그런 다음 내 앱에 등록 할 때 authy가 사용자에게 알림을 보냅니다. –

+0

신난다. 그것이 기쁘다. :) – philnash