Yönlendirme URI'si nedir? OAuth2.0 için iOS uygulaması nasıl uygulanır?


184

Acemi programcı burada, lütfen affedin cehalet ve açıklamalar gerçekten güzel olacak :)

Belirli bir OAuth 2.0 hizmeti için öğreticileri okumaya çalıştım, ancak bu yönlendirme URI'sini anlamıyorum ... özel bağlamımda, diyelim ki bazı hizmetler için OAuth 2.0 kullanan bir iPhone uygulaması oluşturmaya çalışıyorum . Oluşturulan bir App ID var, ama API anahtarı oluşturmak için yönlendirme URI bir tür sağlamak gerekiyor.

Bu kendime bir yerde barındırmak gerekiyordu bir URL mi ?? Adından da anlaşılacağı gibi, yönlendirme URL'sinin bir yere "yönlendirme" gerekiyordu. Tek tahminim, kullanıcının hizmete giriş yaptıktan sonra yönlendirildiği URL olmasıdır.

Ancak, bu varsayım doğru olsa bile, başka bir şey anlamıyorum - kullanıcı girişi için tarayıcıya gönderdikten sonra uygulamam nasıl tekrar açılabilir?

Yanıtlar:


194

Oku bunu:

http://www.quora.com/OAuth-2-0/How-does-OAuth-2-0-work

ya da daha basit ama hızlı bir açıklama:

http://agileanswer.blogspot.se/2012/08/oauth-20-for-my-ninth-grader.html

Yönlendirme URI'si uygulamanın geri arama giriş noktasıdır. Facebook için OAuth'un nasıl çalıştığını düşünün - son kullanıcı izinleri kabul ettikten sonra, uygulamaya geri dönmek için Facebook tarafından "bir şey" çağrılmalıdır ve "bir şey" yönlendirme URI'sıdır. Ayrıca, yönlendirme URI'sı uygulamanın ilk giriş noktasından farklı olmalıdır.

Bu bulmacanın diğer önemli noktası , uygulamanızı bir web görünümüne verilen bir URL'den başlatabilmenizdir . Bunu yapmak için, sadece buradaki kılavuzu takip ettim:

http://iosdevelopertips.com/cocoa/launching-your-own-application-via-a-custom-url-scheme.html

ve

http://inchoo.net/mobile-development/iphone-development/launching-application-via-url-scheme/

not: bu son 2 bağlantıda, "http: //" mobil safari açarken çalışır ancak "tel: //" simülatörde çalışmaz

ilk uygulamada,

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

İkinci uygulamamda URL şemasının adı olarak "secondApp" (ve "secondApp: //") değil, şirketimi URL tanımlayıcısı olarak kaydediyorum.


1
Yani, redirect_uri'de verilen kendi web sitenizi kurmanız gerekiyor, doğru mu?
huggie

1
@huggie, iOS uygulamaları bağlamında - hayır, neyse ki kendi web sitenize ihtiyacınız yok. iOS uygulamanızın web tarayıcısına verilen bir URL'den açılabileceğini bilmeniz gerekir. okuma: iosdevelopertips.com/cocoa/…
David T.

1
@ Nazerke muhtemelen sizin için zaten ": //" ekler. bu yüzden sadece isim yazmanız gerekiyor
David T.

1
Birisi lütfen bu cevabı düzeltin - architecture-soa-bpm-eai.blogspot.com.br/2012/08/… artık mevcut değil
Leo

2
Merhaba @ DavidT. mükemmel cevap. Onlar sadece endişe ve bana kurtarabilir umut nasıl kullanılması zorlanan URI en için yapılandırmak şemalara http://gibi [YouTube, Instagram, LinkedIn]? Örneğin http://localhost/oauth2callbackyeniden yönlendirme ve http, localhost veya oauth2callback şemasını kaydetmeye çalıştım ama bunların hiçbiri işe yaramıyor
Tal Zion

9

yönlendirilen uri, uygulamanıza başarıyla giriş yaptıktan sonra kullanıcının yönlendirileceği konumdur. Örneğin, facebook'ta uygulamanız için erişim belirteci almak için, yönlendirilmiş uri'yi göndermeniz gerekir; bu, facebook uygulamanızı oluştururken sağladığınız yalnızca uygulama etki alanı değildir.



2

Facebook SDK kullanıyorsanız, facebook'un uygulama yönetimi sayfasında URI'yi yönlendirmek için herhangi bir şey girmek için kendinizi rahatsız etmenize gerek yoktur. İOS uygulamanız için bir URL şeması kurmanız yeterlidir. Uygulamanızın URL şeması, "fbxxxxxxxxxxx" değeri olmalıdır; burada xxxxxxxxxxx, facebook'ta tanımlandığı gibi uygulama kimliğinizdir. İOS uygulamanız için URL şemasını ayarlamak üzere uygulama ayarlarınızın bilgi sekmesine gidin ve URL Türü ekleyin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.