Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Web uygulamaları, Google API'lerini güvenli bir şekilde çağırmak için erişim jetonu almalıdır.
Google Kimlik Hizmetleri JavaScript kitaplığı, hem kullanıcı oturumunda kimlik doğrulamayı hem de Google API'leriyle kullanmak üzere erişim jetonu almak için yetkilendirmeyi destekler. Kitaplık yalnızca tarayıcılarda kullanılmak üzere tasarlanmıştır.
Kimlik doğrulama, bir kullanıcının kim olduğunu belirler ve genellikle kullanıcı kaydı veya oturum açma olarak adlandırılır. Yetkilendirme, veri veya kaynaklara erişim izni verme ya da erişimi reddetme işlemidir. Kullanıcı izninin alınması ve yönetilmesi, kapsamlarla paylaşılan veri veya kaynak miktarının sınırlandırılması ve Google API'leriyle kullanılmak üzere erişim jetonu alınması bu kapsamda değerlendirilir.
Bu kılavuzlarda yetkilendirme ve veri paylaşımı konuları ele alınmaktadır.
Kullanıcı yetkilendirmesinin işleyiş şekli bölümü, kullanıcı yetkilendirmenin bağımsız adımlarını ayrıntılı bir şekilde açıklar ve kullanıcı iletişim kutusu örnekleri içerir.
Kimlik doğrulama ve kullanıcı kaydı ile oturum açma işlemlerinin nasıl yapılacağı konusunda yardım arıyorsanız Google ile Oturum Açma bölümüne bakın.
Bu kitaplık, Node.js gibi sunucu tarafı JavaScript çerçeveleriyle kullanılmak üzere tasarlanmamıştır. Bunun yerine, Google'ın Node.js istemci kitaplığını kullanır.
Neler değişti?
Google Kimlik Hizmetleri kitaplığı, kullanıcılar için eski JavaScript kitaplıklarına kıyasla çok sayıda kullanılabilirlik iyileştirmesi sunar. Örneğin:
Kullanıcı oturum açma kimlik doğrulaması ve Google API'lerini çağırmak üzere erişim jetonu alma yetkisi için artık iki ayrı ve farklı kullanıcı akışı bulunmaktadır. Bunlardan biri oturum açma, diğeri ise yetkilendirme sırasında izin verme amaçlıdır. Bu akışlarda, kim olduğunuzu ve bir uygulamanın neler yapabildiğini net bir şekilde ayırt etmek için ayrı kullanıcı akışları kullanılır.
Kullanıcı izni sırasında daha fazla görünürlük ve veri paylaşımına yönelik ayrıntılı kontrol.
Zorlukları azaltmak için kullanılan ve kullanıcıların sitenizden ayrılması gerektirmeyen, tarayıcı tabanlı pop-up iletişim kutuları:
Google'dan bir erişim jetonu alabilir veya
arka uç platformunuza bir yetkilendirme kodu gönderin.
Geliştiricilere yönelik odak noktamız, karmaşıklığı azaltmak, güvenliği iyileştirmek ve entegrasyonunuzu mümkün olduğunca hızlı ve kolay hale getirmektir. Bu değişikliklerden bazıları şunlardır:
Oturum açma için kullanıcı kimlik doğrulaması ve Google API'lerini çağırmak amacıyla erişim jetonu almak için kullanılan yetkilendirme, iki ayrı JavaScript nesne ve yöntem kümesidir. Bu da kimlik doğrulama veya yetkilendirmeyi uygulamak için gereken karmaşıklığı ve ayrıntı miktarını azaltır.
Tek bir JavaScript kitaplığı artık şunları desteklemektedir:
OAuth 2.0 dolaylı akışı, tarayıcıda kullanmak üzere erişim jetonu almak için kullanılır
Çevrimdışı erişim olarak da bilinen OAuth 2.0 yetkilendirme kodu akışı, arka uç platformunuza güvenli bir şekilde yetkilendirme kodu gönderir. Bu kod, erişim jetonu ve yenileme jetonuyla değiştirilebilir. Daha önce bu akışlar yalnızca birden fazla kitaplık kullanılarak ve OAuth 2.0 uç noktalarına doğrudan çağrılar aracılığıyla kullanılabiliyordu. Tek bir kitaplık, entegrasyon sürenizi ve çabanızı azaltır. Birden çok kitaplık ve OAuth 2.0 kavramını öğrenmek yerine tek bir birleşik arayüze odaklanabilirsiniz.
Alıcı stili işlevler üzerinden yönlendirme, basitlik ve okunabilirlik için kaldırılmıştır.
Yetkilendirme yanıtlarını ele alırken, istekleri yerine getirmek için sizin adınıza verilen karar yerine bir Promise kullanıp kullanmayacağınızı seçersiniz.
gapi.auth2 modülü ile ilişkili nesneler ve yöntemler artık sizin için arka planda otomatik olarak yüklenmez ve daha açık olan Google Kimlik Hizmetleri kitaplık nesneleri ve yöntemleriyle değiştirildi.
Kullanıcı güvenliğini ve farkındalığını iyileştirmek için süresi dolan erişim jetonlarının otomatik yenilemesi kaldırıldı. Erişim jetonunun süresi dolduktan sonra uygulamanız Google API hata yanıtlarını işlemeli, istekte bulunmalı ve yeni, geçerli bir erişim jetonu almalıdır.
Kimlik doğrulama ve yetkilendirme anlarının net bir şekilde ayrılmasını desteklemek için, bir kullanıcının uygulamanızda ve Google Hesabı'nda aynı anda oturum açması ve erişim jetonu yayınlanması artık desteklenmemektedir. Önceden, erişim jetonu isteğinde bulunmak kullanıcıların Google Hesaplarında oturum açmasını da sağlıyor ve kullanıcı kimlik doğrulaması için JWT kimliği jetonu kimlik bilgisi döndürüyordu.
Kullanıcı güvenliğini ve gizliliğini artırmak amacıyla, yetkilendirme için verilen kullanıcı başına kimlik bilgileri yalnızca bir erişim jetonu ve bunu yönetmek için gereken bilgileri ekleyerek en az ayrıcalık ilkesine göre hareket eder.
[null,null,["Son güncelleme tarihi: 2023-12-01 UTC."],[[["\u003cp\u003eGoogle Identity Services JavaScript library enables secure access to Google APIs via access tokens and supports user authentication.\u003c/p\u003e\n"],["\u003cp\u003eThe library offers separate, streamlined user flows for sign-in (authentication) and consent (authorization) for enhanced user experience and control.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers benefit from reduced complexity, improved security, and easier integration with features like a unified library for both implicit and authorization code flows.\u003c/p\u003e\n"],["\u003cp\u003eGoogle Identity Services prioritizes user privacy and security through measures like least privilege credentials and explicit access token refresh handling.\u003c/p\u003e\n"],["\u003cp\u003eThe library is exclusively for browser-based applications and should not be used with server-side JavaScript frameworks like Node.js.\u003c/p\u003e\n"]]],[],null,["# Authorizing for Web\n\nWeb apps must obtain an access token to securely call Google APIs.\n\nThe Google Identity Services JavaScript library supports both authentication for\nuser sign-in and authorization to obtain an access token for use with Google\nAPIs. The library is intended only for use in browsers.\n\nAuthentication establishes who someone is, and is commonly referred to as user\nsign-up or sign-in. Authorization is the process of granting or rejecting access\nto data or resources. It includes obtaining and managing user consent, limiting\nthe amount of data or resources shared with scopes, and retrieving an access\ntoken for use with Google APIs.\n\nThese guides cover authorization and data sharing topics.\n\n[How user authorization works](/identity/oauth2/web/guides/how-user-authz-works) describes the individual steps of user\nauthorization in detail and includes user dialog examples.\n\nIf you are looking for help with authentication and how to implement user\nsign-up and sign-in see [Sign In With Google](/identity/gsi/web/guides/overview).\n| **Note:** The `email`, `profile`, and `openid` scopes are used for user authentication. If your app only uses these scopes [Sign In With Google](/identity/gsi/web) is recommended instead.\n\nThis library is not intended for use with server-side JavaScript frameworks such\nas Node.js, instead use Google's [Node.js](https://github.com/googleapis/google-api-nodejs-client)\nclient library.\n\nWhat's changed\n--------------\n\nFor users, the Google Identity Services library offers numerous usability\nimprovements over earlier JavaScript libraries, including:\n\n- Authentication for user sign-in, and authorization to obtain an access token to call Google APIs, now have two separate and distinct user flows; one for [sign-in](/identity/gsi/web/guides/overview#how_it_works) and another for [consent](/identity/oauth2/web/guides/how-user-authz-works#user_consent) during authorization, with separate user flows to clearly differentiate who you are, from what an app can do.\n- Improved visibility and granular control of data sharing during [user\n consent](/identity/oauth2/web/guides/how-user-authz-works#user_consent).\n- Browser based pop-up dialogs to reduce friction, and which do not require users to leave your site to:\n - obtain an access token from Google, or\n - send an authorization code to your backend platform.\n\nFor developers, our focus has been to reduce complexity, improve security, and\nmake your integration as quick and easy as possible. Some of these changes are:\n\n- User [authentication](/identity/gsi/web/reference/js-reference) for sign-in, and [authorization](/identity/oauth2/web/reference/js-reference) used to obtain an access token to call Google APIs, are two separate and distinct sets of JavaScript objects, and methods. This reduces the complexity and amount of detail required to implement authentication or authorization.\n- A single JavaScript library now supports both the:\n - OAuth 2.0 implicit flow, used to obtain an access token for use in-browser\n - OAuth 2.0 authorization code flow, also known as offline access, and initiates securely delivering an authorization code to your backend platform, where it can be exchanged for an access token and refresh token. Previously, these flows were only available by using multiple libraries and through direct calls to OAuth 2.0 endpoints. A single library decreases your integration time and effort, instead of including and learning multiple libraries and OAuth 2.0 concepts you can focus on a single, unified interface.\n- Indirection through getter style functions has been removed for simplicity and readability.\n- When handling authorization responses you choose whether or not to use a [Promise](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) to fulfill requests, instead of that decision being made for you.\n- The [Google API Client Library for JavaScript](https://github.com/google/google-api-javascript-client) has been updated with these changes:\n - the `gapi.auth2` module and associated objects and methods are no longer automatically loaded for you behind the scenes, and have been replaced with more explicit Google Identity Services library objects and methods.\n - Automatic refresh of expired access tokens has been removed to improve user security and awareness. After an access token expires your app must handle Google API error responses, request, and obtain a new, valid access token.\n - To support a clear separation of authentication and authorization moments, simultaneously signing a user in to your app and to their Google Account while also issuing an access token is no longer supported. Previously, requesting an access token also signed users into their Google Account and returned a JWT ID token credential for user authentication.\n- To increase user security and privacy, per user [credentials](/identity/oauth2/web/guides/migration-to-gis#example_credentials) issued for authorization follow the principle of least privilege by including only an access token and information required to manage it."]]