sgcWebSockets 4.4.8 sürümünden itibaren JWT, WebSocket İstemcisi ve HTTP/2 İstemcisi gibi İstemci bileşenlerinde desteklenir.
TsgcHTTP_JWT_Client bileşeni, bir WebSocket İstemcisine veya HTTP/2 istemcisine eklenmiş JWT Belirteçlerini kodlamaya ve imzalamaya olanak tanır; belirteç otomatik olarak bir Authorization Bearer Token Header olarak gönderilir.
Yapılandırma
JWT değerlerini JWTOptions özelliklerinde yapılandırabilirsiniz; 2 ana özellik vardır: Header ve Payload, yalnızca gerekli her özellik için değerleri ayarlayın.
İmza bir Özel Anahtar kullanılarak şifrelenirse (RS ve ES algoritmaları), değeri Algoritmanın PrivateKey özelliğinde ayarlayın.
İmza bir Secret kullanılarak şifrelenirse (HS algoritmaları), değeri Algoritmanın Secret özelliğinde ayarlayın.
Özel Başlıklar
Header ve Payload özellikleri, bir JWT oluşturmak için kullanılan en yaygın başlıkları içerir, ancak AddKeyValue metodunu çağırıp Key ve Value değerlerini parametre olarak ileterek daha fazla başlık ekleyebilirsiniz.
Örnek: JWT Header'ına adınızla yeni bir kayıt eklemek istiyorsanız, aşağıdaki metodu kullanın
Header.AddKeyValue('name', 'John Smith');
Özellikleri yapılandırdıktan sonra, JWT'yi oluşturmak için yalnızca Sign metodunu çağırın; JWT'nin değerini döndürecektir.
WebSocket İstemcisi ve JWT
TsgcWebSocketClient, WebSocket sunucularına bağlanırken JWT kullanımına olanak tanır; yalnızca yeni bir JWT istemcisi oluşturun ve Authentication.Token.JWT özelliğine atayın.
oClient := TsgcWebSocketClient.Create(nil); oClient.URL := 'wss://www.esegece.com:2053'; oJWT := TsgcHTTP_JWT_Client.Create(nil); oJWT.Header.alg := jwtRSA256; oJWT.Payload.sub := '1234567890'; oJWT.Payload.iat := 1516239022; oClient.Authentication.Enabled := True; oClient.Authentication.URL.Enabled := False; oClient.Authentication.Token.Enabled := True; oClient.Authentication.Token.JWT := oJWT; oClient.Active := True;
