여기 초보자 프로그래머, 무지를 용서해 주세요 & 설명은 정말 좋을 것입니다 :)
특정 OAuth 2.0 서비스에 대한 자습서를 읽으려고했지만이 리디렉션 URI를 이해하지 못합니다... 내 특정 상황에서 일부 서비스에 대해 OAuth 2.0을 사용하는 iPhone 앱을 빌드하려고한다고 가정 해 보겠습니다. 생성된 앱 ID가 있지만 API 키를 생성하기 위해 일종의 리디렉션 URI를 제공해야 합니다.
이 URL은 제가 직접 어딘가에 호스팅해야 하나요? 이름에서 알 수 있듯이 리디렉션 URL은 누군가를 어딘가로 '리디렉션'해야 한다고 생각합니다. 제 추측으로는 사용자가 서비스에 로그인한 후 리디렉션되는 URL인 것 같습니다.
하지만 그 가정이 맞다고 해도 한 가지 더 이해가 안 되는 것이 있는데, 사용자 로그인을 위해 브라우저로 보낸 후 어떻게 앱을 다시 열 수 있나요?
이 글을 읽어보세요:
http://www.quora.com/OAuth-2-0/How-does-OAuth-2-0-work
또는 더 간단하지만 빠른 설명을 참조하세요:
http://agileanswer.blogspot.se/2012/08/oauth-20-for-my-ninth-grader.html
리디렉션 URI는 앱의 콜백 진입점입니다. 최종 사용자가 권한을 수락한 후 앱으로 돌아가기 위해 Facebook에서 '무언가'를 호출해야 하는데, 이 '무언가'가 바로 리디렉션 URI입니다. 또한 리디렉션 URI는 앱의 초기 진입 지점과 달라야 합니다.
이 퍼즐의 또 다른 핵심은 웹뷰에 주어진 URL에서 앱을 실행할 수 있다는 것입니다. 이를 위해 저는 여기에 있는 가이드를 따랐습니다:
http://iosdevelopertips.com/cocoa/launching-your-own-application-via-a-custom-url-scheme.html
과
http://inchoo.net/mobile-development/iphone-development/launching-application-via-url-scheme/
참고: 마지막 2개의 링크 중 http://"은 모바일 사파리를 열 때 작동하지만 <텔://>는 시뮬레이터에서 작동하지 않습니다.
첫 번째 앱에서
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"secondApp://"]];
두 번째 앱에서는 URL 스키마의 이름으로 & secondApp"(및 & secondApp://" 아님)을 등록하고, URL 식별자로 회사를 등록합니다.
페이스북 SDK를 사용하는 경우, 페이스북 앱 관리 페이지에서 리디렉션 URI를 입력할 필요가 없습니다. iOS 앱의 URL 스키마를 설정하기만 하면 됩니다. 앱의 URL 구성표는 "fbxxxxxxxxx" 값이어야 하며, 여기서 xxxxxxxxx는 페이스북에 식별된 앱 ID입니다. iOS 앱의 URL 체계를 설정하려면 앱 설정의 정보 탭으로 이동하여 로 이동하여 URL 유형을 추가합니다.