페이스북의 보안 업데이트 때문에 설정 항목이 하나 추가 됐다.


[리디렉션 URI에 Strict 모드 사용]


기존에는 페이스북 OAuth 로그인을 사용할 때 [유효한 OAuth 리디렉션 URI] 항목에 리다이렉트 될 서버의 도메인만을 입력하면 문제없이 로그인에 성공했는데, [리디렉션 URI에 Strict 모드 사용] 항목에 체크하는 순간 리디렉션 URI 가 엄격해진다. Strict 모드 사용에 체크하면 다시 되돌릴 수 없다는게 함정. 체크하는 순간부터 이 버튼은 비활성화로 바뀐다. ㅋㅋ 곧 이 옵션을 강제한다는 의미? [유효한 OAuth 리디렉션 URI] 에 기존처럼 도메인만 입력할 경우 (예, http://mydomain.com) 다음과 같은 오류 메시지를 만나게 된다.





오류 

차단된 URL: 리디렉션 URI가 앱의 클라이언트 OAuth 설정의 화이트리스트에 없으므로 리디렉션하지 못했습니다. 클라이언트 및 웹 OAuth 로그인이 설정되었는지 확인하고 모든 앱 도메인을 유효한 OAuth 리디렉션 URI로 추가하세요.


오류 메시지 만으로는 당최 뭘 하라는 건지 명확하게 이해가 안간다;

앱 도메인 추가니, 화이트리스트 등록이니 이 딴거 다 필요없고, [유효한 OAuth 리디렉션 URI] 만 잘 기입하면 된다. strict 하게.

리디렉션 URI 는 페이스북에 로그인 요청시 client_id 등과 함께 전달하는 uri 로 로그인 성공시 토큰과 함께 반환될 사이트의 uri 이다.

로그인 요청시에 전달하는 이 redirect_uri 를 그대로 [유효한 OAuth 리디렉션 URI] 항목에 기입하면 된다.


https://mydomain.com/login/externalReceive?social=facebook <- 이런 식으로.


dev / prod 등 여러 서버 도메인이 존재할 경우 그냥 다 기입하면 된다.


로그인 체크, 끝~



- 2020-01-06 : 

현재 [유효한 OAuth 리디렉션 URI] 프로토콜이 https 가 필수임. 개발모드에서는 localhost 에 대해서만 http 프로토콜이 가능하며(http://localhost), 나머지 도메인은 https 가 아닌 경우 리디렉션 불가...



WRITTEN BY
손가락귀신
정신 못차리면, 벌 받는다.

트랙백  0 , 댓글  0개가 달렸습니다.
secret