Google Workspace Eklentiniz, yetkilendirme gerektiren bir üçüncü taraf hizmetine veya API'ye bağlanırsa eklenti, kullanıcılardan oturum açmalarını ve erişimi yetkilendirmelerini isteyebilir.
Bu sayfada, bir yetkilendirme akışı (ör. OAuth) kullanarak kullanıcıların kimliğinin nasıl doğrulanacağı açıklanmaktadır. Söz konusu bilgiler aşağıdaki adımları içerir:
- Yetkilendirme gerekli olduğunda algıla.
- Kullanıcılardan hizmette oturum açmalarını isteyen bir kart arayüzü döndürür.
- Kullanıcıların hizmete veya korumalı kaynağa erişebilmesi için eklentiyi yenileyin.
Eklentiniz yalnızca kullanıcı kimliği gerektiriyorsa Google Workspace kimliklerini veya e-posta adreslerini kullanarak kullanıcıların kimliğini doğrudan doğrulayabilirsiniz. Kimlik doğrulama için e-posta adresini kullanmak istiyorsanız JSON isteklerini doğrulama bölümüne bakın. Eklentinizi Google Apps Komut Dosyası'nı kullanarak oluşturduysanız eklentinizi bir üçüncü taraf hizmetine bağlama hakkında bilgi edinmek için Apps Komut Dosyası dokümanlarına bakın.
Yetkilendirmenin gerekli olduğunu algılama
Eklentinizi kullanırken kullanıcılar, aşağıdakiler gibi çeşitli nedenlerle korunan bir kaynağa erişme yetkisine sahip olmayabilir:
- Üçüncü taraf hizmete bağlanmak için henüz bir erişim jetonu oluşturulmadı veya jetonun süresi dolmuş.
- Erişim jetonu, istenen kaynağı kapsamıyor.
- Erişim jetonu, isteğin gerekli kapsamlarını kapsamıyor.
Eklentiniz, kullanıcıların oturum açıp hizmetinize erişebilmesi için bu durumları algılamalıdır.
Kullanıcılardan hizmetinizde oturum açmalarını isteyin
Eklentiniz yetkilendirme gerektiğini tespit ettiğinde, kullanıcılardan hizmette oturum açmalarını istemek için bir kart arayüzü döndürmelidir. Oturum açma kartı, kullanıcıları altyapınızdaki üçüncü taraf kimlik doğrulama ve yetkilendirme işlemini tamamlamaları için yönlendirmelidir.
Hedef uygulamayı Google ile Oturum Açma özelliğiyle korumanızı ve oturum açma sırasında verilen kimlik jetonunu kullanarak kullanıcı kimliğini almanızı öneririz. Alt hak talebi, kullanıcının benzersiz kimliğini içerir ve eklentinizin kimliğiyle ilişkilendirilebilir.
Oturum açma kartı oluşturma ve geri verme
Hizmetinizin oturum açma kartı için Google'ın temel yetkilendirme kartını kullanabilir veya kuruluşunuzun logosu gibi ek bilgileri görüntülemek için bir kartı özelleştirebilirsiniz. Eklentinizi herkese açık olarak yayınlıyorsanız özel bir kart kullanmanız gerekir.
Temel provizyon kartı
Aşağıdaki resimde Google'ın temel yetkilendirme kartının bir örneği gösterilmektedir:
Temel yetkilendirme kartını kullanmak için aşağıdaki JSON yanıtını döndürün:
{ "basic_authorization_prompt": { "authorization_url": "AUTHORIZATION_REDIRECT", "resource": "RESOURCE_DISPLAY_NAME" } }
Aşağıdakini değiştirin:
AUTHORIZATION_REDIRECT
: Yetkilendirmeyi işleyen web uygulamasının URL'si.RESOURCE_DISPLAY_NAME
: Korunan kaynağın veya hizmetin görünen adı. Bu ad, yetkilendirme isteminde kullanıcıya gösterilir. Örneğin,RESOURCE_DISPLAY_NAME
öğenizExample Account
ise komut isteminde "Bu eklenti ek bilgiler göstermek istiyor, ancak Örnek Hesabınıza erişmesi için onay gerekli" der.
Yetkilendirmeyi tamamladıktan sonra kullanıcıdan, korunan kaynağa erişmek için eklentiyi yenilemesi istenir.
Özel provizyon kartı
Yetkilendirme istemini değiştirmek için hizmetinizin oturum açma deneyimine yönelik özel bir kart oluşturabilirsiniz.
Eklentinizi herkese açık olarak yayınlıyorsanız özel bir yetkilendirme kartı kullanmanız gerekir. Google Workspace Marketplace yayınlama şartları hakkında daha fazla bilgi için Uygulama incelemesi hakkında başlıklı makaleyi inceleyin.
Aşağıdaki resimlerde bir eklentinin ana sayfası için örnek bir özel yetkilendirme kartı gösterilmektedir. Kartta bir logo, açıklama ve oturum açma düğmesi bulunur:
Bu özel kart örneğini kullanmak için aşağıdaki JSON yanıtını döndürün:
{ "custom_authorization_prompt": { "action": { "navigations": [ { "pushCard": { "sections": [ { "widgets": [ { "image": { "imageUrl": "LOGO_URL", "altText": "LOGO_ALT_TEXT" } }, { "divider": {} }, { "textParagraph": { "text": "DESCRIPTION" } }, { "buttonList": { "buttons": [ { "text": "Sign in", "onClick": { "openLink": { "url": "AUTHORIZATION_REDIRECT", "onClose": "RELOAD", "openAs": "OVERLAY" } }, "color": { "red": 0, "green": 0, "blue": 1, "alpha": 1, } } ] } }, { "textParagraph": { "text": "TEXT_SIGN_UP" } } ] } ] } } ] } } }
Aşağıdakini değiştirin:
LOGO_URL
: Bir logonun veya resmin URL'si. Herkese açık bir URL olmalıdır.LOGO_ALT_TEXT
: Logo veya resmin alternatif metni (ör.Cymbal Labs Logo
).DESCRIPTION
: Kullanıcıların oturum açmaları için harekete geçirici bir mesaj (ör.Sign in to get started
).- Oturum açma düğmesini güncellemek için:
AUTHORIZATION_REDIRECT
: Yetkilendirmeyi işleyen web uygulamasının URL'si.- İsteğe bağlı: Düğme rengini değiştirmek için
color
alanının RGBA kayan değerlerini güncelleyin.
TEXT_SIGN_UP
: Hesapları yoksa kullanıcılardan hesap oluşturmalarını isteyen bir metin. Örneğin,New to Cymbal Labs? <a href=\"https://www.example.com/signup\">Sign up</a> here
.