it-swarm-ko.com

Facebook OAuth "이 URL의 도메인은 앱의 도메인에 포함되어 있지 않습니다."

우선 내가이 질문에 대한 답변을 꽤 오래 동안 검색했다고 말하면서 시작하겠습니다 ...

내 컴퓨터에서 로컬로 개발중인 응용 프로그램과 함께 작동하도록 Facebook OAuth를 설정하려고합니다. 내가 페이스 북의 권한으로 localhost을 사용하여 다른 도메인 이름 (여전히 내 컴퓨터의 로컬)으로 옮겨 졌을 때 모든 것이 완벽하게 작동했습니다. 이제 다음 오류가 발생합니다.

URL을로드 할 수 없음 :이 URL의 도메인은 앱의 도메인에 포함되어 있지 않습니다. 이 URL을로드하려면 앱 설정의 앱 도메인 입력란에 앱의 모든 도메인과 하위 도메인을 추가하십시오.

내 호스트 파일에 127.0.0.1 photovote.dev이 포함되어 있습니다 (완벽 함).

내 앱에서 내 리디렉션 (Socialite 사용)은 http://photovote.dev/auth/facebook/callback입니다.

내 Facebook App Settings에서 ...

  • 내 앱 도메인은 photovote.dev입니다.
  • 내 사이트 URL은 http://photovote.dev/입니다.
  • 유효한 OAuth 리디렉션 URI는 http://photovote.dev/auth/facebook/callback입니다.

오류 메시지가 표시 될 때의 URL은 ..

https://www.facebook.com/v2.5/dialog/oauth?client_id=XXXXXXXXXXXXXXX&redirect_uri=http%3A%2F%2Fphotovote.dev%2Fauth%2Ffacebook%2Fcallback&scope=email&response_type=code&state=0ztcKhmWwFLtj72TWE8uOKTcf65JmePtG95MZLDD

문제가 무엇인지 모르겠다.

스크린 샷 1
 Screen Shot

스크린 샷 2  enter image description here

204
dangel

Facebook에서 앱을 만들 때 잘못된 세부 정보를 입력 한 경우 일반적으로 발생합니다. 또는 기존 앱의 URL을 변경 했습니까?

이 페이지에서 APP의 설정을 다시 확인해 주시겠습니까?

https://developers.facebook.com/apps

  1. 올바른 앱을 선택하고 수정 버튼을 클릭하십시오.

  2. URL 및 경로가 올바르게 입력되어 있는지 확인하고 Ultimate Facebook 플러그인을 설치 한 사이트를 가리 킵니다.

65
Lei Lionel

누군가가이 문제를 겪고 이러한 설정을 찾고있는 경우 (예 : 내가 그런 것처럼)

너는해야 해.

  1. 왼쪽에서 "+ 제품 추가"를 클릭하고 "페이스 북 로그인"을 선택하십시오 (맨 위에있었습니다).
  2. 왼쪽의 새 설정보기
  3. 이제이 'OAuth'설정이 '제품 설정'

enter image description here

추가 정보 : Facebook 로그인의 설정 페이지에서 http://localhost:3000와 같은 콜백 URL을 Valid OAuth redirect URIs 필드에 추가하십시오.

191
Craig Lambie

나는 똑같은 문제가 있었다. OAuth 리디렉션 URI를 getAccessToken 함수 호출에 대한 인수로 추가하여 해결했습니다.

$redirectLoginHelper->getAccessToken("https://www.example.com/myfacebookcallback")

해당 함수에 인수가 전송되지 않으면 SDK가 자체적으로 리디렉션 URI를 생성하지만이 경우 리디렉션 URI는 작동하지 않지만 제 경우에는 작동하지 않습니다.

희망이 사람을 도움이됩니다.

49
Swoot

앱이 공개되어 있는지 확인하십시오. + 제품 추가를 클릭하십시오. 이제 제품으로 이동 => Facebook 로그인 이제 다음을 수행하십시오.

유효한 OAuth 리디렉션 URI : example.com/

콜백 인증 해제 : https://example.com/facebookapp http://unicodeitsolutions.com/

31
Sanjoy Kanrar

다음은이 문제를 해결하기 위해 수행 한 작업입니다.  enter image description here

원래:

1) 사용 " 임베디드 브라우저 OAuth 로그인 "

2) " 리디렉션 URI에 엄격 모드 사용 "을 비활성화하고 내가 한 것처럼 리디렉션 URI를 입력하십시오.

3) 나머지 옵션은 모두 그대로 둡니다.

4) 변경 사항을 저장하십시오.

5) 즐기십시오 :)

18
bangbang

나는 같은 문제가 있었는데, 그것은 잘못된 client_id/Facebook App ID에서 나왔습니다.

Facebook 앱을 "공개"또는 "온라인"으로 전환 했습니까? 그렇게하면 Facebook에서 새 앱 ID로 새 앱을 만듭니다.

Url의 "client_id"매개 변수 값을 Facebook 대시 보드의 "client_id"매개 변수 값과 비교할 수 있습니다.

7

내가 고쳐 쓰는 방법 : Valid OAuth Redirect URIs 텍스트 상자로 가서 exact URL, 도메인 만 설정하지 말 것 :

before : https://my-website.com

after : https://my-website.com/facebookoauth/facebooklogin

(URL은 귀하의 경우 다를 수 있습니다, 브라우저의 주소 표시 줄에서 확인).

이는 예 위치에서 잠긴 리디렉션 URI에 엄격 모드 사용 설정으로 인해 발생했습니다.

6
Cosmin

여기를 클릭하십시오. 코드 프로젝트 ! 그것의 코드 프로젝트 예제. 그게 나에게 일하고있어.

 enter image description here

5

대부분의 경우 FB 대시 보드의 제품 섹션에 올바른 유효한 OAuth 리디렉션 URL 을 삽입하지 않은 상태에서 발생합니다.

01. 아래 그림으로 앱의 기본 설정이 올바른지 확인

enter image description here

02. 제품 추가 여부 확인

그렇지 않으면 아래에 표시된대로 + 사인을 클릭하여 제품에 로그인을 쉽게 추가 할 수 있습니다.

예인 경우 제품 설정 내부로 들어갑니다. enter image description here

03. 유효한 OAuth 리디렉션 URL 을 제공했는지 확인

그것은 로그인 후해야 할 일을 의미합니다 .URL을 콜백하는 것 외에는 아닙니다. 아래 그림에서 몇 개의 리디렉션 URL을 추가했습니다. enter image description here

  1. 문제가 더 있습니다. 내 비디오보기-> https://www.youtube.com/watch?v=mdhubrzV5y8&t=3s
5
Rumesh Madushanka

URL을로드 할 수 없음 :이 URL의 도메인은 앱의 도메인에 포함되어 있지 않습니다. 이 URL을로드하려면 앱 설정의 앱 도메인 입력란에 앱의 모든 도메인과 하위 도메인을 추가하십시오.

나는 오늘이 문제를 겪었고, 나는 페이스 북 문서와 SDK가 다른 개발자들에게 무례하고 무례하다고 말하고있다.

( "웹"플랫폼을 추가하는 경우 3 가지) 많은 정보가없는 두 개의 다른 위치에 "앱 도메인"을 갖는 것 이외에 app products/facebook login/settings 로 이동하여 리디렉션 URL을 유효한 OAuth 리디렉션 URI

오류 oauth 설정에 대해 아무것도 말합니다.

4
adrianTNT

나는 똑같은 문제가 있었다.

응용 프로그램 설정 https://developers.facebook.com/apps 에서 로컬 주소 http : //localhost/Facebook%20Login%20Test.html _ Site URL의 링크를 추가했습니다. _.

지금은 잘 작동합니다. :) 이것이 유용했으면 좋겠다;)

4
iteb khayati

2017-10 현재.

내 문제를 해결 한 솔루션.

현재 FB는 이러한 놀람을 표현합니다.

... 앱의 클라이언트 OAuth 설정. 클라이언트 및 웹 OAuth 로그인이 켜져 있는지 확인하십시오 ...

enter image description here

조정할 설정은 https://developers.facebook.com/apps/[your_app_itentifier]/fb-login/ 에 있습니다.

후행 슬래시가 중요합니다. 앱 코드와 FB 관리자 설정에서 일치해야합니다. 그래서 이것은 당신의 코드 어딘가에있는 설정입니다 (dev 어플리케이션을위한 도메인 네임을 얻는 방법은 아래를보십시오) :

{
    callbackURL: `http://my_local_app.com:3000/callback/`, // trailing slash
}

그리고 여기

enter image description here

로컬 Windows 컴퓨터에서 응용 프로그램의 도메인 이름을 가져 오려면 Host 파일을 편집하십시오. 사용자 정의 이름은 localhost:8080, 0.0.0.0:30303, 127.0.0.0:8000 등을 제거하기에 좋습니다. FB와 같은 일부 타사 서비스가 때때로 127.0.0.0 이름을 사용할 수 없기 때문입니다.

Windows 10에서 hosts 파일은 다음과 같습니다.

C:\Windows\System32\drivers\etc\hosts

초기 파일을 백업하고 다른 이름으로 복사본을 만듭니다 (기본 Windows CMD에서는 작동하지 않습니다. Git for Windows , 많은 Unix 명령이 있습니다)

$ cp hosts hosts.bak

hosts에 이것을 추가하십시오

127.0.0.1  myfbapp.com # you can access it in a browser http://myfbapp.com:3000
127.0.0.1  www.myotherapp.io # In a browser http://www.myotherapp.io:2020

포트 부분을 제거하려면 :3000 NGINX를 설정하십시오.

4
Green

사용하고 있던 SDK 버전을 업데이트하기 전까지는 실제로 아무 것도 작동하지 않았습니다. 나는 5.0으로 시작했다. 5.4.0조차도 작동하지 않습니다. 5.6.2로 업데이트했을 때, 관련 changelogs에 아무 것도 없었음에도 불구하고 완벽하게 작동했습니다!

3
Ste_95

필자의 경우에는 임베디드 브라우저 OAuth 로그인을 (를)

 enter image description here

2
sh6210

이 기능이 다른 사람에게 도움이되는 경우, "Valid OAuth Redirect URIs"가 필수 항목으로 바뀌면 이전 사이트에서이 작업이 시작되었습니다. 사이트에서 여전히 V4 PHP SDK를 사용하고 있었고 V5 SDK로 업그레이드하여 문제가 해결되었습니다.

2
Kenneth Spencer

Facebook은 최근에 ' 리디렉션 URI에 엄격 모드 사용 '에 대한 토글 버튼을 비활성화했습니다. 따라서 로그인 버튼을 눌렀을 때 호출되는 URI를 정확하게 추가해야합니다. 제 경우에는 스크린 샷과 같습니다. 그것은 나를 위해 문제를 해결 :)

 enter image description here

2

포털에서이 옵션을 사용하도록 설정해야합니다.

 enter image description here

2

앱 도메인 섹션에서 앱 도메인을 작성하고 있지만 로그인 도메인, 즉 사용자에게 로그인하도록 요청한 html 페이지의 이름도 추가해야합니다. 필자의 경우 localhost에서 로그인 경로를 테스트하고 있었고 localhost/login이었습니다. 앱 도메인 섹션에 http://localhost.com 을 입력하면이 오류가 발생합니다. 그러나 http : //localhost/login.com 을 추가하면 오류가 수정되었습니다. 또한 SDK의 최신 버전에서는 앱 설정이 변경되어 OAuth 리디렉션 경로에 대한 옵션이 없습니다. OAuth 토큰을받은 후 서버 측에서 직접 리디렉션 경로를 지정해야합니다.

1
Anum Sheraz

나는 같은 문제를 가지고 있었다. issu는 버전 PHP SDK 5.6.2에 있고 수정은 다음 파일을 편집하고 있었다 :

facebook\src\Facebook\Helpers\FacebookRedirectLoginHelper.php

이 줄 바꾸기

$redirectUrl = FacebookUrlManipulator::removeParamsFromUrl($redirectUrl,['state','code']);

에서 - /

$redirectUrl = FacebookUrlManipulator::removeParamsFromUrl($redirectUrl,['state','code','enforce_https']);

1
Chevelle

이것은 나를 위해 일했다 :

이해해야 할 주요 사항은 다음과 같습니다. Facebook은 항상 "WWW"도메인을 확인합니다. 그래서 www.your_domain.dev 가 브라우저에서 먼저 작동하는지 확인하십시오.

로컬 서버에 가상 호스트가 여러 개 있으면 다른 가상 호스트가 " www.your_domain.dev "를 무시할 수 있습니다. 그래서 확인해주세요. 아파치는 도메인의 첫 번째 정의 (또는이 용어들에있는 어떤 것 - 나는 이것에 대한 전문가가 아니지만 실수로 배웠다)를 고를 것이다. 이 가상 호스트 재정의를위한 빠른 수정은 "httpd-vhosts.conf"파일 맨 위에 "www.your_domain.dev 가상 호스트 정의"를 넣는 것입니다.

" /Apache/conf/https-vhosts.conf "로 이동하여 파일 맨 위에 넣으십시오.

<VirtualHost *:80>
<Directory "C:/your_app_folder_path/">
    Options FollowSymLinks Indexes
    AllowOverride All
    Order deny,allow
    allow from All
</Directory>
ServerName your_domain.dev
ServerAlias your_domain.dev
DocumentRoot "C:/your_app_folder_path/"
</VirtualHost>

###### FOR SSL #####
<VirtualHost *:443>
    DocumentRoot "C:/your_app_folder_path/"
    ServerName your_domain.dev
    ServerAlias www.your_domain.dev
    SSLEngine on
    SSLCertificateFile "conf/ssl.crt/server.crt"
    SSLCertificateKeyFile "conf/ssl.key/server.key"
    <Directory "C:/your_app_folder_path/">
        Options All
        AllowOverride All
        Require all granted 
    </Directory>
</VirtualHost>

다음 : Windows 시스템을 사용하는 경우 두 줄을 추가하여 "C :\Windows\System32\drivers\etc"의 "hosts"파일을 편집하십시오.

127.0.0.1 your_domain.dev
127.0.0.1 www.your_domain.dev

다음 : 아파치 서버를 재시동하면 모든 것이 제대로 작동합니다.


이것이 당신을 도울 것이고 당신의 시간을 절약하기를 바랍니다. 나는 거의 하루 종일 웹을 검색하는 것을 낭비했고, 내 머리카락을 뽑아 내고 이것을 발견 할 때까지 도움이되는 것을 찾을 수 없었다.

1
Albo Best

프로덕션 환경에서 이와 동일한 Facebook 오류가 발생했습니다. 그 이유는 페이스 북 (로컬, 프로덕션)에 등록 된 2 개의 앱이 있었지만 로컬 앱 ID를 소스 코드에 하드 코드하여 배포하기 전에 프로덕션 앱 ID로 전환하는 것을 잊어 버렸기 때문입니다.

베스트 프랙티스는 소스 코드에 앱 ID를 하드 코딩해서는 안되지 만, 그렇게했다면 내가 실수 한 것처럼 다양한 Facebook 앱 ID를 불일치하지 마십시오.

0
Jimmy Shaw

내 로컬 서버 사용.

http://localhost/my-site를 URL로 추가하기 만하면됩니다.

https://developers.facebook.com/apps/YOUR-APP-ID/fb-login/

나를 위해 일했다.

0
Reece Kenney

첫 번째 단계 : all https://example.in / SSL 인증서 URL을 사용하십시오. http://example.in

두 번째 단계 : faceboook 응용 프로그램 설정 -> 기본 설정 -> 도메인 또는 하위 도메인 추가

세 번째 단계 : faceboook 애플리케이션 로그인 설정 -> 유효한 OAuth 리디렉션 URI-> 로그인 후 모든 리디렉션 URL 추가

네 번째 단계 : faceboook 응용 프로그램 설정 -> 사전 설정 -> 도메인 관리자 -> 도메인 이름 추가

이 모든 단계를 수행 한 다음 애플리케이션 ID, 애플리케이션 버전, 설정을위한 앱 비밀번호를 사용하십시오.

0
ganesh avhad

FB가 로그인 절차를 강화함에 따라 문제와 대답이 계속 변경됩니다. 현재이 URL의 도메인은 앱의 도메인에 포함되어 있지 않습니다.이 URL을로드하려면 앱 설정의 앱 도메인 입력란에 앱의 모든 도메인과 하위 도메인을 추가하십시오. "

대답은 다음과 같습니다. 이제 FB는 전체 리디렉션 URI를 원합니다. 그래서 저에게있어서 그것은 단지 https://www.example.com 이었던 곳이었습니다. 이제는 https://www.example.com/auth/facebook/callback 을 원합니다. 이것은 "유효한 OAuth 리디렉션 URI"필드 (개발자/Facebook 로그인 -> 설정)

0
Peter Robinson

Facebook 로그인 -> 설정 -> 유효한 OAuth 리디렉션 URI -> 리디렉션 URL의 도메인을 삽입하십시오. 'https'또는 http를 추가해야합니다. 예 : 리디렉션 URL이https://xxx.xxx.com/path/callback.do인 경우https://xxx.xxx 만 입력하면됩니다. .com// 괜찮습니다.

0
刘同彬