Çok Yakında Yeni Bir Arayüzle karşınızdayız! http://yeni.delphican.com/

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ı:
(02-05-2019, Saat: 09:39)mad85 Adlı Kullanıcıdan Alıntı: Delphi için hazırlanmış bir JWT implemantasyonu mevcut;
https://github.com/paolo-rossi/delphi-jose-jwt

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ı: İ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.
https://www.freeformatter.com/hmac-generator.html

hmac olusturabileceginiz farkli bir pascal kutuphanesi
https://github.com/Xor-el/HashLib4Pascal
WWW
Cevapla
#13
(03-05-2019, Saat: 08:37)sadettinpolat Adlı Kullanıcıdan Alıntı:
(02-05-2019, Saat: 18:44)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: İ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.
https://www.freeformatter.com/hmac-generator.html

hmac olusturabileceginiz farkli bir pascal kutuphanesi
https://github.com/Xor-el/HashLib4Pascal

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ığı Delphi Jose JWT 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
  Comport Haberleşme Nasıl Yapılır? glagher 6 554 06-02-2020, Saat: 00:53
Son Yorum: guverdik
  Listboxta gözüken Pdf dosyalarını nasıl açarım HuseyinAlcik 6 251 30-01-2020, Saat: 22:29
Son Yorum: rekarex
  Soru Nasıl Sorulur uparlayan 1 294 11-01-2020, Saat: 18:48
Son Yorum: frmman
  [ÇÖZÜLDÜ] delphiden procedure çağırma wiseman 7 500 26-12-2019, Saat: 14:46
Son Yorum: hi_selamlar
  çözüldü--her ayın ilk günü program çalıştığında mesaj vermesi sadikacar60 6 373 25-12-2019, Saat: 18:50
Son Yorum: sadikacar60



Konuyu Okuyanlar: 1 Ziyaretçi