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?
#11
(02-05-2019, Saat: 09:44)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: 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.

İncelemek fazlaca zamanımı aldı. 
API tarafından verilen anahtarın dijital imzası için bir özellik (RSA veya Hash olarak) set ediliyor. 
Bu özelliği RS256 (RSA-256) olarak set edince, OpenSSL kütüphanelerini (libeay32.dll, ssleay32.dll) kullanıyor ve doğru olarak imzalama yapıyor. 
Bu durumda API'yi sorunsuz kullanabiliyorum. 
Takdir edersiniz ki; uygulama ile birlikte dll'lerin taşınması pek hoş olmuyor. Uygulamayı çoğu zaman belli sürüme bağımlı hale getiriyor.
Framework HS256 olarak imzalanması durumunda, Delphi 10.0 Seattle ve sonraki sürümlerde OpenSSL ihtiyacı olmadan işlem yapılabilir diyor.

   

İmzalamayı gerçekleştiren sınıfın imza türünü HS256 (SHA - 256) olarak set edince, imzalamayı doğru yapmıyor.
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
#12
(02-05-2019, Saat: 18:44)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.İmzalamayı gerçekleştiren sınıfın imza türünü HS256 (SHA - 256) olarak set edince, imzalamayı doğru yapmıyor.

kendi demosu ile mi denediniz ?
Karakter kodlaması vs gibi belki gözden kaçan ufak detaylar vardır.

Hmac ile ilgili sayfalar belki yardimci olabilir.
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.

hmac olusturabileceginiz farkli bir pascal kutuphanesi
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.
WWW
Cevapla
#13
(03-05-2019, Saat: 08:37)sadettinpolat 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: 18:44)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.İmzalamayı gerçekleştiren sınıfın imza türünü HS256 (SHA - 256) olarak set edince, imzalamayı doğru yapmıyor.

kendi demosu ile mi denediniz ?
Karakter kodlaması vs gibi belki gözden kaçan ufak detaylar vardır.

Hmac ile ilgili sayfalar belki yardimci olabilir.
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.

hmac olusturabileceginiz farkli bir pascal kutuphanesi
Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız.

Kendi demosu ile denedim. 
Kendi demosunda parametreler, decode veya encode metodlarına tabi tutulmadan doğrudan gönderiliyor. 

   

Temel sınıfı incelediğimde System.Hash kütüphanesine yönlendiriyor. 

   
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
#14
Merhaba,
Google Cloud Platform OAuth 2.0 güvenlik doğrulaması, @mad85 in paylaştığı Linkleri Görebilmeniz İçin Üye Olmanız Gerekiyor. Üye Olabilmek İçin Lütfen Buraya Tıklayınız. kütüphanesi ile yapılabiliyor. 
Tek sorun ise; servis anahtarlarını dijital imzalamak için SSL kütüphanesinin uygulama ile birlikte dağıtılma zorunluluğunun olmasıdır.
Kütüphane geliştiricisi HS256 ile imzalanması durumunda SSL kütüphanesine ihtiyaç olmayacağını söylüyor. Fakat bu durumda da ne hikmetse API servisi dijital imza doğrulamasını başarısız buluyor.
Bu durumda tek çare RSA-256 olarak dijital imza sertifikası ile güvenlik doğrulamasını yapmaktır.
Uygulamanın hem masaüstü uygulamalarda (VCL) hem de multi-platform (FMX) mimarisinde çalışması açısından tek çare Dijital imza sunucusu oluşturmaktır.
Delphi ile bir SOA (Service Oriented Architecture) tabanlı uygulama bu sorunu ortadan kaldırmaktadır. SSL ve benzeri herhangi bir harici kaynağa ihtiyaç duyan her sistem için bu yöntem düşünülebilir.

Sistemin çalışma mekanizması şöyle olmalıdır;
1- Herhangi bir harici kaynaktan kullanılan metod (function/procedure) Delphi SOA sunucusu üzerine taşınır.
2- Sunucu uygulamanıza bir istek geldiğinde, harici kaynaktaki metod kullanılır ve sonuç elde edilir.
3- Alınan sonuç istemci uygulamaya SOA protokolü ile iletilir.

Bu yöntemi kullanan örnek bir uygulama:


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
#15
Elinize sağlık , Çok güzel olmuş , paylaşım ve bilgilendirmeler için çok teşekkürler.
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 377 24-07-2019, Saat: 21:41
Son Yorum: mcuyan



Konuyu Okuyanlar: 1 Ziyaretçi