1. ホーム
  2. ios

[解決済み] リダイレクトURIとは何ですか?OAuth2.0のiOSアプリへの適用は?

2022-05-01 02:54:41

質問

初心者プログラマー、無知を許してください & 説明は本当に素晴らしいでしょう :)

あるOAuth 2.0サービスのチュートリアルを読んでみたのですが、このリダイレクトURIがよくわかりません...私の特定のコンテキストでは、あるサービスに対してOAuth 2.0を使用するiPhoneアプリを作ろうとしているとします。生成されたApp 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のOAuthがどのように機能するか考えてみてください。エンドユーザーがパーミッションを受け入れた後、アプリに戻るためにFacebookからquot;something"を呼び出す必要があり、そのquot;something"がredirect URIです。さらに、リダイレクトURIはアプリの最初のエントリポイントとは異なるものにする必要があります。

このパズルのもう一つのキーポイントは webviewに与えられた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://"はモバイルSafariを開く際に機能しますが、"tel://"はシミュレータで機能しません。

最初のアプリで、私は

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"secondApp://"]];

2つ目のアプリでは、URL Schemeの名前として、"secondApp" ("secondApp://" ではない)、URL識別子として私の会社を登録しています。