내 반응 네이티브 앱에서 적절한 페이스 북 로그인을 설정하려고합니다. 지금은 내 서버에 대한 oauth 로그인을 사용하여 순수한 웹보기에서 작동하지만 기본 facebook 로그인을 사용하여 facebook 앱을 활용할 수 있기를 원합니다.
다음 라이브러리를 사용하고 있습니다.
따라서 내 페이스 북 로그인은 웹뷰를 호출 /oauth/v2/auth
하고 토큰을 처리하여 OAuth 용 웹뷰의 앱뿐만 아니라 웹 사이트에서도 완벽하게 작동합니다 .
그러나 웹보기에서 전체 이메일 + 비밀번호 콤보를 입력해야하기 때문에 다소 지저분합니다.
그래서 지금 /login/facebook-check
은 로그인 성공 이벤트 (기본 플러그인에 의해)에 대한 웹보기를 호출 할 때 인증 오류가 발생 합니다.이 작업을 완료하는 데 도움을 줄 수 있습니다.
마침내 작동했습니다. 해킹은 기존의 모든 서비스를 함께 사용하는 것이 었습니다.
커스텀 컨트롤러를 만들었습니다. 몇 가지 보안 검사가 필요하지만 여전히 작동합니다.
/**
* @Route("/api/facebook-connect/{accessToken}", name="api_facebook_connect", defaults={"_format" = "json"})
* @Rest\View()
*/
public function facebookLoginAction($accessToken, Request $request)
{
$token = new OAuthToken($accessToken);
$token->setResourceOwnerName('facebook');
$oauthUserProvider = $this->get('app.oauth.provider.user_provider');
$ressourceOwnerMap = $this->get('hwi_oauth.resource_ownermap.main');
$userChecker = new UserChecker();
$oauthProvider = new OAuthProvider($oauthUserProvider, $ressourceOwnerMap, $userChecker);
$token = $oauthProvider->authenticate($token);
$this->get('security.token_storage')->setToken($token);
$client = $this->get('doctrine.orm.entity_manager')->getRepository('AppBundle:Client')->findOneBy([], ['id' => 'DESC']);
$oauth2server = $this->get('fos_oauth_server.server');
$accessToken = $oauth2server->createAccessToken($client, $this->getUser(), 'user', 3600);
return $accessToken;
}
내가 이것을 정리하면서 이것을 업데이트 할 것입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다