Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
[Çözüldü] - Google Cloud Platformunda OAuth 2.0 ile Dinamik Token Nasıl Alınır?
#1
Merhaba,
Google Cloud Platform API'lerinden Speech To Text'i kullanabilmek için Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. üzerinden tanımlamaları yaptıktan sonra gerekli olan parametreleri aldım.
REST bileşenleri (TRESTClient, TRESTRequest, TRESTRespons) ile bu parametreleri set ettim. 
OAuth 2.0 güvenlik doğrulaması için  TOAuth2Authenticator bileşenini kullandım. 
Tasarım anında TOAuth2Authenticator ile bir saat geçerli Access-Token ve Refresh-Token'lar oluşturulabiliyor.

   

Bir saat boyunca bu API'yi kullanabiliyorum. Süre bitiminde yeni Token'ları almak gerekiyor. 
Çalışma anında TOAuth2Authenticator bileşenine ait Authorize metodunu nasıl yenileyebilirim?
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#2
Authorize işlemini arka planda gerçekleştirmek için REST.Authenticator.OAuth.WebForm.Win kütüphanesinde yer alan Tfrm_OAuthWebForm formundan faydalanayım dedim.
Bu defa da her saatte bir son kullanıcının karşısına doğrulama ekranı çıkıyor.

   

Bu ekranda Google hesabı ile giriş yaptıktan sonra Allow buton seçimi yapılması isteniyor. 
Her iki aşmadan sonra Authentication codu ve Token'lar üretiliyor. 
Kullanıcıyı bu pencere ile muhatap etmeden arka planda kimlik bilgilerini (token ve authcode) yenileme imkanı var mı?
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#3
s.a
mrmarman hocanın çözümü burada mevcut
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
Cevapla
#4
(29-04-2019, Saat: 17:48)theSinan Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.s.a
mrmarman hocanın çözümü burada mevcut
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.

Bilgilendirme için teşekkür ederim. Referans verdiğiniz konuyu inceledim. 
Burada, ikinci mesajımda belirttiğim web üzerinden kullanıcı doğrulama yönteminden bahsediliyor. Bu pencereyi son kullanıcıya yansıtmadan bir güvenlik doğrulaması yapmak istiyorum. 
@mrmarman üstadımız da bu durumdan muzdarip olacak ki; pencereyi bir ilizyon marifetiyle onaylamış.  Smile
Lokal (geliştirici) bilgisayarında kullanıcı adı ve şifresi kaydedilip, yalnızca Allow butonunun arka planda tetiklenmesi sorunu bir nebze çözüyor. Fakat uygulamanın son kullanıcılara dağıtılması durumunda kullanıcı adı ve şifresi sorun olacaktır.

TOAuth2Authenticator ile çalışma anında herhangi bir Google hesap talebi olmadan güvenlik doğrulaması yapılabiliyor, fakat çalışma anında bu doğrulamayı sağlayacak bir metod yok. 
Yalnızca AuthCode'un elde edilmesi durumunda (arka planda bu kodu almak için de çok uğraştım) iki satırlık bir kod ile yine kullanıcı bilgilerine ihtiyaç olmadan doğrudan geliştirici API anahtarları ile güvenlik doğrulamasının yapılabileceğini öğrendim.  
örneğin
with OAuth2Authenticator1 do
begin
 AuthCode := FAuthorisationCode;
 ChangeAuthCodeToAccesToken;
end;
Örnekte AuthCode'un set edilmesi durumunda TOAuth2Authenticator bileşenine ait ChangeAuthCodeToAccesToken global metodu ile arka planda tekrar bir saatlik işlem anahtarları (token'lar) alınabiliyor. 
AuthCode'un arka planda elde edilmesi veya farklı çözüm önerileriniz varsa bekliyorum.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#5
Google Cloud Platform OAuth 2.0 güvenlik seviyesinin arka planda doğrulanması JWT (JSON Web Tokens) yöntemi ile sağlanabiliyormuş.
Bunun için Google Cloud Console'dan proje bilgilerini içeren bir JSON dosyası veya .p12 sertifika dosyası (.pem dosyasına dönüştürme zorunluluğu var) indirmek gerekiyor.

   

Daha sonra bu dosyaların JWT'ye dönüştürülüp, servis sağlayıcıdan yeni token talepleri yapılıyormuş.
Bu konuda tecrübesi olan arkadaşlar varsa, yardımlarını bekliyorum.

KaynakLinkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#6
Delphi için hazırlanmış bir JWT implemantasyonu mevcut;
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.

Birçok protokolü destekliyor.
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
Cevapla
#7
(02-05-2019, Saat: 09:39)mad85 Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Delphi için hazırlanmış bir JWT implemantasyonu mevcut;
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.

Birçok protokolü destekliyor.

Teşekkür ederim.
İnceleyeyim, bir sonuca ulaşınca buradan yazarım.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#8
Rica ederim. Dört gözle bekliyorum üstad Smile
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
Cevapla
#9
(02-05-2019, Saat: 10:13)mad85 Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Rica ederim. Dört gözle bekliyorum üstad Smile

Tüm Google Cloud Platform API hizmetleri oAuth 2.0 ile kullanılabildiğine göre; bir çok proje entegrasyonunda bu sınıf kullanılabilir.
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#10
(02-05-2019, Saat: 10:40)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
(02-05-2019, Saat: 10:13)mad85 Adlı Kullanıcıdan Alıntı: Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.Rica ederim. Dört gözle bekliyorum üstad Smile

Tüm Google Cloud Platform API hizmetleri oAuth 2.0 ile kullanılabildiğine göre; bir çok proje entegrasyonunda bu sınıf kullanılabilir.

Kesinlikle...
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  ÇÖZÜLDÜ-timer kullanmadan saat kontrolü mümkünmü? sadikacar60 3 131 10-09-2019, Saat: 22:19
Son Yorum: sadettinpolat
  [ÇÖZÜLDÜ] cxgrid hücre formatı wiseman 2 69 10-09-2019, Saat: 13:53
Son Yorum: wiseman
  [ÇÖZÜLDÜ]Server İşletim Sisteminde Çalışan Windows Servis te is not a valid date Hata theSinan 9 237 28-08-2019, Saat: 10:05
Son Yorum: adelphiforumz
  ÇÖZÜLDÜ-daha önce çalışan kod hata veriyor firebird sadikacar60 5 195 25-08-2019, Saat: 21:07
Son Yorum: mcuyan
  ÇÖZÜLDÜ - Veritabanındaki saat alanını düzenleme wiseman 10 378 24-07-2019, Saat: 21:41
Son Yorum: mcuyan



Konuyu Okuyanlar: 1 Ziyaretçi