OAuth tabanlı Google ile Oturum Açma "Basitleştirilmiş" bağlantı türü, OAuth tabanlı hesap bağlama. İşleminizde bu bağlantı türünü kullanırsanız akışı Google ile Oturum Açma ile başlar. Bu oturum, kullanıcının Google Hesabı'nın giriş yapıp yapmadığını kontrol etmenizi profil bilgileri sisteminizde mevcuttur. Bağlanmıyorsa standart OAuth akışı başlar. Bu iki bağlantı türünün bir kombinasyonunu sunduğunuzda, kullanıcılarınız Google hesabıyla veya Google dışı hesapla işleminizde kimliğini belirtmelisiniz. Eğer isterlerse isterlerse Google profilleriyle yeni bir hesap da ekleyebilirsiniz.
Aşağıdakilerden herhangi biri söz konusu olduğunda, kolaylaştırılmış bağlantı önerilen hesap bağlama çözümüdür: aşağıdakiler geçerlidir:
- Birden çok platformu kapsayan bir İşleminiz vardır (örneğin, İşlem (bir Android uygulamasıyla çalışır).
- Mevcut bir kimlik doğrulama sisteminiz var ve kullanıcıların kimliklerinin Google dışı hesaplarla bağlanmasını sağlamak. Örneğin, menü tableti bir bağlılık programı varsa ve kullanıcının puan kazanmış olur.
Kolaylaştırılmış bağlantı oluşturmanın sizin için doğru çözüm olduğunu doğrulamak üzere Hesap bağlama türü sayfanızı seçin.
Anahtar terimler
Basitleştirilmiş bağlantı özelliğinin işleyiş şeklini okumadan önce biraz bilgi edinin. şu şartlar ile:
- Google kimliği jetonu: Kullanıcı kimliğinin, aşağıdakileri içeren imzalı bir onayı kullanıcının temel Google profil bilgileri (adı, e-posta adresi ve profil resmi). Google kimliği jetonu, JSON Web Jetonu (JWT) olarak değiştirin. Aşağıda kodu çözülmüş bir jeton örneği verilmiştir:
{
"sub": 1234567890, // The unique ID of the user's Google Account
"iss": "https://accounts.google.com", // The token's issuer
"aud": "123-abc.apps.googleusercontent.com", // Client ID assigned to your Actions project
"iat": 233366400, // Unix timestamp of the token's creation time
"exp": 233370000, // Unix timestamp of the token's expiration time
"name": "Jan Jansen",
"given_name": "Jan",
"family_name": "Jansen",
"email": "jan@gmail.com", // If present, the user's email address
"locale": "en_US"
}
user.verificationStatus
: geçerli oturumda doğrulanmış bir kullanıcı var.user.accountLinkingStatus
: geçerli oturumdaki kullanıcının bağlı bir kimliği var.Hesap bağlama sistem sahnesi: Onayı uygulayan önceden tanımlanmış bir sahne akışı için özelleştirilebilir ve belirli kullanım alanlarına göre özelleştirilebilir.
Yetkilendirme kodu akışı: ile uygulayabileceğiniz bir OAuth 2.0 akışı Basitleştirilmiş bağlantı. Bu akış iki uç nokta gerektirir:
- Yetkilendirme uç noktası: Oturum açma kullanıcı arayüzünü sunan uç nokta oturum açmamış kullanıcılarınıza gösterebilirsiniz. Bu form, kısa ömürlü bir yetkilendirme kodu biçiminde erişim talep etti.
- Jeton değişimi uç noktası: Bu uç nokta, iki türden oluşur.
:
- Uzun ömürlü bir yenileme jetonu için yetkilendirme kodu değiştirir ve kısa ömürlü bir erişim jetonu bulunur. Bu değişim, kullanıcı hesap bağlama akışından geçer.
- Kısa ömürlü erişim için uzun ömürlü yenileme jetonu değiştirir jeton. Bu exchange, Google yeni bir erişim jetonuna ihtiyaç duyduğunda gerçekleşir çünkü süresi dolmuştu.
Dolaylı kod akışı: Basitleştirilmiş bağlantı. Bu akış yalnızca bir yetkilendirme uç noktası gerektirir. Bu akış sırasında Google, kullanıcının emin olun. Oturum açma başarılı olursa uzun ömürlü bir erişim jetonu kullanarak Google'a dokunun. Bu erişim jetonu artık şuradan gönderilen her isteğe dahil ediliyor: İşleminize Asistan.
Erişim jetonu: Hizmetinizi bir cihazın bazı bölümlerine erişmesi için kullanıcı verileri. Erişim jetonları her bir kullanıcıyla ilişkilendirilir.
Yenileme jetonu: Bir defa gerçekleştirildiğinde yeni bir erişim jetonuyla değiştirilen jeton kısa ömürlü erişim jetonunun süresi doldu.
Ön koşullar
Basitleştirilmiş bağlantı türünü kullanmak için aşağıdakilere ihtiyacınız vardır:
- OAuth 2.0 sunucusu
Jeton değişimi uç noktası
Google'ın kimlik jetonundan otomatik bağlantı oluşturma ve hesap oluşturma protokolleri (ör. isteklere
intent=get
veintent=create
parametrelerini .
İşleyiş şekli
Bu bölümde, basitleştirilmiş bağlantı oluşturma ile ilgili genel akış açıklanmaktadır. Aşağıdaki Kolaylaştırılmış bağlantı akışları bölümünde, a) etkinleştirme veya devre dışı bırakma durumunuza bağlı olarak sesli şekilde oluşturabilir ve b) gizli mi yoksa örtülü yetkilendirme kodu akışı.
Temel akış şu şekildedir:
- İşleminiz kullanıcıdan Google profiline erişmek için izin istiyor.
- Kullanıcı izin verdikten sonra İşleminiz şu özelliklere sahip bir Google kimliği jetonu alır: Kullanıcının Google profil bilgilerini içeriyorsa.
- Profil içeriğini okumak için jetonu doğrulamanız ve kodunu çözmeniz gerekir.
- İşleminiz, kullanıcının Google profilinin
tespit edebilirsiniz.
- Açılıyorsa, kullanıcı zaten kullanıcı kimliği ile kullanıcı kimliği arasında bağlantı oluşturur. Google hesabı. Kullanıcı, şununla devam edebilir: Asistan'ın hesabı bağlıyken.
- Yoksa 5. adıma bakın.
- Kullanıcı, a) Google profiliyle yeni bir hesap oluşturabilir bilgi edinin veya b) sisteminizde farklı bir hesapla oturum açın. İlgili içeriği oluşturmak için kullanılan kullanıcıya sunulan seçenekler, hizmeti etkinleştirme veya sesle hesap oluşturmayı devre dışı bırakabilir. Kullanıcı standart OAuth akışı başlar.
- Kullanıcı yeni bir hesap oluşturduktan veya farklı bir sağlayıcıyla oturum açtıktan sonra hizmetiniz Google'a bir erişim jetonu döndürür. ( yetkilendirme kodu akışını takip ederseniz hizmetiniz ayrıca bir yenileme jetonu döndürür.)
- Kullanıcı artık telefonunu kullanarak Asistan'la görüşmeye devam edebilir hesap bağlandı.
Basitleştirilmiş bağlantı akışları
Bu bölümde, Basitleştirilmiş bağlantı ile oluşabilecek çeşitli akışlar ele alınmaktadır. Bu diyagramlar, yetkilendirme kodu akışında gerçekleşen akışları açıklar. yerine dolaylı kod akışını tercih ettiğinizi varsayalım ve Actions Builder'ı kullandığınızı varsayın.
Her akış, kullanıcı İşleminizi çağırdıktan sonra şu genel adımları içerir:
Yukarıdaki akışta, hesap bağlama sistemi sahnesine geçersiniz ve
bir gerekçe oluşturabilirsiniz. Sahnede kullanıcıdan erişim izni istiyor
Google profil bilgileri. Kullanıcı izin verdikten sonra Asistan,
user@gmail.com
adlı kullanıcının profil bilgilerini içeren bir istek.
Bu noktadan sonraki akışlar, hesabı yapılandırıp yapılandırmadığınıza bağlı olarak farklılık gösterir Google Voice'a bağlanarak, kullanıcının bilgilerinin Google Haberler'de bahsedeceğim. Bu akışların her biri aşağıdaki bölümlerde açıklanmıştır.
Sesli hesap oluşturma özelliğinin etkin olduğu akışlar
Bu bölümde, Sesle hesap oluşturma.
1. Akış: Kullanıcının bilgileri sisteminizde mevcut
Bu durumda, user@gmail.com
tarafından temsil edilen kullanıcı arka ucunuzda mevcuttur.
Böylece jeton değişimi uç noktanız, kullanıcı için bir jeton döndürür. Kullanıcının
İşleminizdeki kimliği artık bu kişinin Google Hesabı'na bağlı. Kullanıcının
orijinal istek ("Her zamanki siparişimi ver"), order_drink.
kullanıcısının amacıyla eşleşiyor
Ardından webhook'unuz, eşleşen intent'in yerine getirilmesini işler ve
user@gmail.com
için veritabanının normal sırası. Kullanıcı daha sonra
Asistan'la sohbet edebilir.
2. Akış: Kullanıcının bilgileri yoktur ve kullanıcı hesap oluşturur
Sesle hesap oluşturmayı etkinleştirdiğiniz ve user@gmail.com
şunu etkinleştirmediği için:
arka ucunuzda varsa Asistan, kullanıcıya bunu yapmak isteyip
şunlardan birini yapın:
a) Google profil bilgilerini kullanarak sisteminizde yeni bir hesap oluşturabilir, Bu işlem sesle gerçekleştirilir
b) Sisteminizde farklı bir hesapla oturum açın
Bu durumda kullanıcı, sesle yeni bir hesap oluşturmayı seçer. Google aramaları hizmetinizin jeton değişimi uç noktası ile hesap oluşturma isteği ekleyin. Bu istek, gereken bileşenleri içeren Google kimliği jetonunu içerir yeni bir hesap oluşturun. Ardından bu jetondaki bilgileri kullanabilirsiniz (kullanıcının adı ve e-posta adresi) ekleyin.
Hesap oluşturulduktan sonra hizmetiniz bir erişim jetonu döndürür ve
yeni oluşturulan hesap için yeni bir jeton oluşturulur. İşleminizdeki kullanıcı kimliği artık
Google Hesabı'na bağlı. Kullanıcının orijinal isteği ("Her zamanki siparişimi ver")
kullanıcı amacıyla eşleşir order_drink.
Webhook'unuz
eşleşen amacın yerine getirilmesini sağlar ve veritabanınızı
user@gmail.com
adlı satıcının normal sırası, kullanıcı yeni olduğu için henüz mevcut değil.
İşleminiz daha sonra kullanıcıya ne sipariş etmek istediğini sorabilir.
3. Akış: Kullanıcının bilgileri mevcut değil ve kullanıcı farklı bir hesapla oturum açıyor
Sesle hesap oluşturmayı etkinleştirdiğiniz için Asistan, kullanıcıya bunu yapıp yapmadığını sorar aşağıdakilerden birini yapmak istiyor:
a) Google profil bilgilerini kullanarak sisteminizde yeni bir hesap oluşturabilir, Bu işlem sesle gerçekleştirilir
b) Sisteminizde farklı bir hesapla oturum açın
Bu durumda kullanıcı farklı bir hesapla oturum açmayı seçer ve standart OAuth akışını başlatır. Akış yalnızca ses özellikli bir cihazda başladıysa Google, yürütme işlemini bir telefona aktarır. Google daha sonra açar kullanıcının tarayıcısındaki yetkilendirme uç noktanız ve kullanıcı, hizmetinizde oturum açıp açmayacağını seçebilir: Google ile Oturum Açma özelliğini kullanmayan mevcut bir hesap veya b) yeni bir hesap oluşturma farklı bir sağlayıcı kullanabilirsiniz. OAuth akışı hakkında daha fazla bilgi için bkz. OAuth bağlantı oluşturma kavram kılavuzu.
Kullanıcının kimlik bilgilerini doğruladıktan sonra hizmetiniz bir erişim jetonu döndürür
ve Google'a bir yenileme jetonu gönderilir. İşleminizdeki kullanıcının kimliği bağlandı
Google dışı bir hesaba bağlayabilirsiniz. Kullanıcının orijinal isteği ("Her zamanki siparişimi ver") eşleşiyor
kullanıcı niyeti order_drink.
Webhook'unuz şunun sağlanmasını gerçekleştirir:
eşleşen amacı arar ve veritabanınızı user@gmail.com
'ın normal sırasına göre sorgular.
Kullanıcı yeni olduğu için henüz mevcut değil. İşleminiz daha sonra
sipariş etmek istediklerini söyleyebilir veya her zamanki siparişlerini yapılandırmalarını isteyebilirsiniz.
Sesli hesap oluşturma özelliğiyle akış devre dışı bırakıldı
Bu bölümde, devre dışı bıraktığınızda oluşabilecek hesap bağlama akışı açıklanmaktadır. Sesle hesap oluşturma.
4. Akış: Kullanıcının bilgileri mevcut değil
Sesle hesap oluşturma özelliğini etkinleştirmediniz ve kullanıcı, yapılandırarak standart OAuth akışı başlar. Asistan, yetkilendirme uç noktası (akış yalnızca ses modunda başladıysa) cihaza aktarırsa Google, yürütmeyi ekranı olan bir cihaza aktarır. Kullanıcı a) Kendisi kaydolmuşsa farklı bir sağlayıcıyla oturum açmayı seçebilir farklı bir hesap kullanarak veya b) yeni bir hesap oluşturarak başka bir sağlayıcı kullanabilirsiniz. OAuth akışı hakkında daha fazla bilgi için bkz. OAuth bağlantı oluşturma kavram kılavuzu.
Kullanıcının kimlik bilgilerini doğruladıktan sonra hizmetiniz bir erişim jetonu döndürür
ve Google'a bir yenileme jetonu gönderilir. İşleminizdeki kullanıcının kimliği bağlandı
Google dışı bir hesaba bağlayabilirsiniz. Kullanıcının orijinal isteği ("Her zamanki siparişimi ver") eşleşiyor
kullanıcı niyeti order_drink.
Webhook'unuz şunun sağlanmasını gerçekleştirir:
eşleşen amacı arar ve veritabanınızı user@gmail.com
'ın normal sırasına göre sorgular.
Kullanıcı yeni olduğu için henüz mevcut değil. İşleminiz daha sonra
ayarlamak için kullanıcının her zamanki sıralamasını ayarlar.