2016-12-18 6 views
2

내 Azure 기능 응용 프로그램에 대해 Facebook 인증을 사용하고 있습니다. 브라우저 내 기능으로 이동하면 제대로 작동합니다. 앱에서 내 기능을 호출하고 싶지만 인증을 수행하는 방법은 확실하지 않습니다.애플 리케이션 내에서 Azure 기능 인증

현재 Facebook 클라이언트를 사용하려고 시도하고 있는데,이 경우 내 기능 앱에서 ".auth/login/facebook/callback"기능으로 전달할 access_token을 반환합니다. 불행히도 내가 얻을 수있는 한 GET을 통해이를 수행하면 JavaScript가 포함 된 HTML이 반환되고 POST를 통해이를 수행하면 다시 Facebook으로 리디렉션됩니다.

정말 필요한 것은 Azure 함수 AppServiceAuthSession에 의해 생성 된 쿠키입니다. 그런 다음이 함수를 호출 할 때 사용할 수 있다고 생각합니다.

편집 : 쿠키를 사용할 수 있다고 생각하지 않습니다. 위에서 말했듯이 제대로 인증해야합니다.

닉.

+0

어떤 유형의 클라이언트를 사용하고 있습니까? access_token을 URL의 함수에 어떻게 보내고 있습니까? 그 access_token은 Facebook에서 직접 가져온 것입니까? – brettsam

+0

페이스 북 C# 클라이언트를 사용해 보았는데 내 함수 URL에서 사용하고 ".auth/login/facebook/callback"에도 전달하지 않았습니다. 내가 쿼리 매개 변수, 즉 https : // myfunctionapp/api/foobar? access_token = abcd로 보냈습니다. 또한 오늘 아침에 AppService에 사용 된 MobileServiceClient를 시도했지만 작동하지 못했습니다. Facebook 로그인 상자가 나타납니다. 인증 후 네트워크 문제가 있다고합니다. – Nick

+0

나는 또한 행운과 함께 Facebook C# SDK에서도 얻을 수있는 인증 코드를 반환 해 보았습니다. 두 가지 모두 Facebook에서 왔습니다. – Nick

답변

4

페이스 북 자바 스크립트 SDK를 사용하면서 토큰을 함수 앱에 전달할 수있었습니다 (C#과 관련된 행운이 없었습니다). 그러면 올바른 방향으로 움직일 수 있습니다.

클라이언트 :

  1. accessToken를 반환 페이스 북에 로그인을 수행합니다.
  2. 고객은이 ''을 '앱 서비스 토큰'으로 교환해야합니다. 이는 인 https://{app}.azurewebsites.net/.auth/login/facebook의 POST를 작성하여 수행합니다. 그러면 authenticationToken이 반환됩니다.
  3. x-zumo-auth이라는 헤더에 authenticationToken을 사용하십시오. 해당 헤더를 사용하여 함수 앱에 대한 모든 요청을 작성하십시오.

함수 앱에서 현재 로그인 한 사용자로 설정된 현재 사용자를 설정해야합니다.

+0

우수한 감사, 나는 그것을 오늘 밤 시험 할 것이다! – Nick

+0

위대한 일을 한 경우, 이메일 클레임을받는 것이 더 이상 효과가 없지만 기능이 실행 중이므로 다른 이유가 있음을 알게되었습니다. 조사 할게. 당신의 도움에 많은 감사드립니다. – Nick