2011-09-10 30 views
17

OAuth 2.0 (SUNUCU YAN AKIŞI) anlamaya çalışıyorum. Google kişileri API'sinin basit örneğini alalım.OAuth 2.0 Simgesi ve Ömür

özellikleri gereği, Google ile Uygulamamı kayıt yaptıran ve İstemci Kimliği ve İstemci secret.Also i belirtmiştik geri arama URL var. Google sitesine (https://accounts.google.com/o/oauth2/auth bla bla şeyler)

  • sonra OAuth belgesinde belirtildiği gibi erişim kodu alınıyor

    gerekli sorgu dizeleri ve başlıklarıyla belli URL'ye

    1. Yönlendirme kullanıcıyı yapmamı gerektiriyor kullanıcı kimlik bilgilerini girdiğinde, Google'da zaten kayıtlı olduğum APP'imde belirtildiği gibi geri arama URL'sine gönderilir. Burada parametre & kod = 4/P7q7W91a-oMsCeLvIaQm6bTrgtp6 bla bla da URL'yi geri çağırmak eklenir sorgu dizesi. Böylece artık yetkilendirme kodu

    2. Şimdi, bir önceki adımda aldığım yetki koduyla https://accounts.google.com/o/oauth2/token'a bir istek göndererek erişim belirteci ve yenileme belirteci aldım. ben bu "erişim belirteci" got sonra

    i

    Her şey bu noktada kadar gayet erişmek (kontakt API söylemek ve kullanıcı kişileri alabilirsin). Ayrıca, erişim belirteçlerinin sınırlı bir kullanım ömrüne sahip olduğunu ve "yenileme simgesi" ni kullanarak yeni erişim belirteci alabileceğimizi de anlıyorum.

    A.As bir geliştirici, bu "erişim jetonu" geçerli olup olmadığını saklamak ve kontrol etmek benim sorumluluğum oluyor? B. Web sitem "Google/FB/twitter ile giriş" hesabı olan bir genel web sitesiyse, 2 gün sonra siteye geri dönen aynı kullanıcının nasıl olduğunu bildiğimi ve sorması için ona ihtiyacım olmadığını nasıl anlarım? giriş için, kullanıcı siteye otomatik giriş yapmalı mı? cauz zaten benim app için izin vermişti gibi yetki sürecinden geçmesini istemiyorum.

    ör: Ben FB oturum kullanarak TechCrunch web sitesine giriş yapmış ve makaleler hakkında yorum yapabilirsiniz. Şimdi TechCrunch'a gidersem 1 hafta sonra bile tekrar giriş yapmam gerekmiyor. Benim ve ben zaten doğrulanmış olduğumu nereden biliyorlar?

  • cevap

    14
    1. OAuth 2.0 kullanıldığında, beraberindeki bir son kullanma süresi olan bir erişim belirteci alırsınız. Ya süresi dolduğunda takip edebilir veya bir INVALID_TOKEN hatası alana kadar kullanmaya devam edebilirsiniz. Ardından yeni erişim belirteci almak için yenileme jetonu hizmetini çağırmanız gerekir. Yenileme jetonunuz iptal edilene kadar iyidir.

    2. Bu

      OpenID'yi değil OAuth olduğunu. Akış benzerdir, ancak bir kullanıcıyı hizmetinize kaydettirmek içindir. OAuth, kullanıcının verilerini başka bir hesaptan almanız içindir.

    +0

    B için, bu yüzden kullanıcıların web sitelerinde OpenID olayını kullanmaları gerekir; böylece kullanıcılar FB/twitter/Google etc etc hesabı ve daha sonra OAuth kullanarak giriş yapabilirler. Anlayışım yanlış olursa beni düzeltin. – NoobDeveloper

    +0

    Evet ve hayır. Bu, hem bir kerede yapabilmenizi sağlayan bir [karma protokol] (http://code.google.com/apis/accounts/docs/OAuth.html). –

    +0

    Hybrid protokolünün bağlantısı beni OAuth 1.0'a yönlendiriyor. OAuth 1 kullanmıyor olacağım.0 – NoobDeveloper

    İlgili konular