(04-04-2025, Saat: 10:21)enigma Adlı Kullanıcıdan Alıntı: (04-04-2025, Saat: 08:42)hi_selamlar Adlı Kullanıcıdan Alıntı: Merhabalar, base64 text ile yüklenmiş resimler. Yeniden yüklemenizi öneririm. Teşekkürler.
Neyi yanlış yapıyorum anlamadım. Resmi kopyala yapıştır yapıyorum. ilk anda normal görünüyor. Cevabı gönder deyince base64 text olarak görünüyor..
Yardımınız için teşekkürler. Sorunu şu şekilde çözdüm. Bu hatayı alan arkadaşlar olursa diye paylaşıyorum.
?
OAuth2 login is not setup properly error hatası
Bu hata, TOAuth2Authenticator bileşeni oluşturulmuş ancak gerekli bilgiler (AccessToken, ClientID, TokenURL vs.) henüz atanmadığı halde TRESTClient üzerinde bir istek çalıştırıldığında Delphi 12’nin daha katı davranmasından kaynaklanıyor. Delphi 11’de bu durum sessizce geçilirken, Delphi 12 artık exception fırlatıyor.
✅
Çözüm Yolu
Sorunun kaynağı, token almadan önce Authenticator nesnesinin oluşturulmuş olması.
Bu nedenle çözüm şu adımlara dayanıyor:
Uygulama başlarken TOAuth2Authenticator hiç oluşturulmamalı. (
Çünkü elimizde henüz AccessToken ya da ClientID gibi bilgiler yok.)
Giriş (login) işlemi sırasında, klasik bir REST isteğiyle token alınmalı.
Bu istek herhangi bir
Authenticator kullanmadan yapılmalı.
Token alındıktan sonra
TOAuth2Authenticator dinamik olarak oluşturulmalı.
Token Authenticator’a atanmalı ve
TRESTClient.Authenticator olarak bağlanmalı.
Bu şekilde hem Delphi 11 hem Delphi 12 uyumlu bir yapı elde ediliyor.
Delphi 12 artık boş veya eksik TOAuth2Authenticator durumunu kabul etmediği için bu yaklaşım doğru yol diyebiliriz.
//Not//
Eğer siz de OAuth2 ile çalışan bir REST entegrasyonu yapıyorsanız ve bu hatayı alıyorsanız, muhtemelen Authenticator’ınızı "erken" oluşturuyorsunuzdur. Yapıyı sadeleştirip token alımından sonra oluşturmak en sağlıklı yol.