Google ile Oturum Açma kavram kılavuzu

Asistan için Google ile Oturum Açma (GSI), en sorunsuz bağlantıyı sağlar Bu, geliştiricilerin uygulaması en kolay akıştır. GSI ile işleminiz, şu tarihlerde kullanıcınızın Google profiline erişim isteğinde bulunabilir: ve kullanıcı izin verirse kullanıcının adını, e-posta adresini, ve profil resminiz. İşleminiz bu bilgileri kullanarak adlı kullanıcının sisteminizde bir Google hesabı vardır. Değilse İşleminiz kullanıcıya şunu sorar: kullandıkları Google sistemine dayalı olarak sisteminizde yeni bir hesap profil bilgileri.

Aşağıdakilerden herhangi biri geçerliyse önerilen hesap bağlama çözümü GSI'dir:

  • Mevcut bir kimlik doğrulama sisteminiz yoktur ve/veya bir Google Hesabı'na sahip olmasını sağlar. Örneğin, İşleminiz özellikle yeni bir hizmeti kullanıma sunuyorsanız, tüm kullanıcılarınızın Google hesaplar.
  • Mevcut bir kimlik doğrulama sisteminiz var ve yalnızca Google hesaplarını kullanarak sisteminizde oturum açtı.

GSI'nın sizin için doğru çözüm olduğunu doğrulamak üzere Hesap bağlama türü sayfanızı seçin.

Anahtar terimler

GSI'nın işleyiş şeklini okumadan önce aşağıdaki terimler hakkında bilgi edinin:

  • 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.

İşleyiş şekli

GSI için temel akış aşağıdaki gibidir:

  1. İşleminiz kullanıcıdan Google profiline erişmek için izin istiyor.
  2. 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.
  3. Profil içeriğini okumak için jetonu doğrulayın ve kodunu çözün. URL'yi Node.js için Actions on Google Sipariş Karşılama kitaplığı, kodu sizin için doğrular ve kodunu çözer.
  4. İşleminiz, kullanıcının Google profilinin tespit edebilirsiniz.

    1. Açılıyorsa, kullanıcı zaten Google hesabı. Kullanıcı, şununla devam edebilir: Asistan, kimliği Google Hesabına bağlanmış olmalıdır.
    2. Böyle bir durum söz konusu değilse kullanıcı, sisteminizde yeni bir hesap oluşturabilir. Google kimlik jetonunda bulunan bilgileri dahil edin. Kullanıcı daha sonra Asistan'la görüşmeye yeni hesabını bağlayarak devam edebilir.

Google ile Oturum Açma akışları

Bu bölümde, Google ile Oturum Açma'da gerçekleşebilecek çeşitli akışlar açıklanmaktadır.

1. Akış: Kullanıcının bilgileri sisteminizde mevcut

Aşağıdaki şemada, kullanıcının bilgileri sisteminizde zaten bulunuyor:

Bu durumda, hesap bağlama sistemi sahnesine geçersiniz ve bir gerekçe oluşturabilirsiniz. Bu sahnede kullanıcıdan Google profil bilgilerine erişebilir.

Kullanıcı izin verdikten sonra Asistan, user@gmail.com profil bilgileri. Bu durumda, girdiğiniz bilgiler user@gmail.com için Google kimlik jetonunda bulunan, şuradaki bir hesapla eşleşir: Böylece, İşleminizdeki kullanıcının kimliği otomatik olarak bağlanır. . Böylece webhook'unuz kullanıcının genel sıralamasını ve buna göre yanıt verin.

2. Akış: Kullanıcının bilgileri sisteminizde mevcut değil

Aşağıdaki şemada, aşağıdaki durumlarda GSI ile gerçekleşen uçtan uca akış gösterilmektedir: Kullanıcının bilgileri sisteminizde mevcut değilse:

Bu durumda, user@gmail.com, sisteminizdeki bir hesapla eşleşmediğinden Asistan kullanıcıya yeni hesap oluşturmak isteyip istemediğini sorar. Kullanıcı, ses ile hesap oluşturma sürecini kontrol edilmiş olur.

Kullanıcı hesap oluşturmayı kabul ettiğinde hizmetiniz bu bilgileri kullanır (kullanıcının adı ve e-posta adresi) ekleyebilirsiniz. gösterir. Hesap oluşturulduktan sonra İşleminizde kullanıcının kimliği yeni Google hesabına bağlı.

Bu durumda, kullanıcı yeni olduğu için olağan bir sırası yoktur. Böylece İşleminiz ne sipariş etmek istediklerini sorar. Siz kullanıcıya en son siparişini ayarlamak isteyip istemediğini de sorabilir değişiklik gösterebilir.