Apple Push Notifications - APNs ile Token Tabanlı Bağlantılar (Bölüm 3/4)

· Özellikler

Bu blogda, Apple Push Notification Sunucularına kimliği doğrulanmış HTTP/2 istekleri göndermek için sgcWebSockets JWT İstemcisinin nasıl yapılandırılacağını göstereceğim.

Durumsuz kimlik doğrulama Tokenları kullanarak Apple Push Notification service (APNs) ile iletişiminizi güvence altına alın.

Önce Apple Developer Hesabınızdan bir Şifreleme Anahtarı ve bir Key ID edinmelisiniz. Başarılı bir kayıttan sonra, Key ID ile 10 karakterlik bir dize ve .p8 dosya uzantısı olarak bir Kimlik Doğrulama Tokenı imzalama anahtarı edineceksiniz.

Algoritma olarak ES256 kullanarak bir JWT oluşturmak için sgcWebSockets JWT İstemcisini kullanmalısınız. Token her HTTP/2 isteği için oluşturulmamalı, token 20 dakikadan önce ve 60 dakikadan sonra yenilenmemelidir.

JWT İstemcisini Yapılandırma 

JWT İstemcisini aşağıdaki değerlerle yapılandırın:

Token Tabanlı bağlantıların kullanılması, apns-topic'in uygulamanızın paket kimliği/uygulama kimliği değeriyle (örnek: com.example.application) gönderilmesini gerektirir.

oHTTP := TsgcHTTP2Client.Create(nil);
oHTTP.TLSOptions.IOHandler := iohOpenSSL;
oJWT := TsgcHTTP_JWT_Client.Create(nil);
oHTTP.Authentication.Token.JWT := oJWT;
oJWT.JWTOptions.Header.alg := jwtES256;
oJWT.JWTOptions.Header.kid := 'apple key id';
oJWT.JWTOptions.Payload.iss := 'issuer';
oJWT.JWTOptions.Payload.iat := StrToInt64(GetDateTimeUnix(Now, False));
oJWT.JWTOptions.Algorithms.ES.PrivateKey.LoadFromFile('AuthKey_**.p8');
oJWT.JWTOptions.RefreshTokenAfter := 60*40;
oHTTP.Request.CustomHeaders.Clear;
oHTTP.Request.CustomHeaders.Add('apns-topic: com.example.application');