React Native
Mobil uygulamanıza cihaz üstü GlobalTrustID girişi ekleyin — QR yok, WebView yok.
@globaltrustid/rn-gti, React Native uygulamanıza "GlobalTrustID ile giriş" ekler. Kullanıcı, telefonundaki GlobalTrustID uygulamasında tek dokunuşla onaylar ve uygulamanıza döner.
- Kaynak kod: github.com/GlobalTrustID/rn-gti
- Paket: npmjs.com/package/@globaltrustid/rn-gti
- Lisans: MIT
npm install @globaltrustid/rn-gtiWeb akışından farkı#
OAuth Uygulamaları sayfasındaki akış tarayıcı içindir: kullanıcı ekranda bir QR görür ve telefonuyla okutur. Aynı telefondaki bir mobil uygulamada okutacak bir QR yoktur — uygulamanız GlobalTrustID uygulamasını doğrudan çağırır.
| Web (OAuth) | Mobil (cihaz üstü) | |
|---|---|---|
| Kullanıcı ne yapar | Ekrandaki QR'ı telefonuyla okutur | Tek dokunuşla onaylar |
| İstemci tipi | Tarayıcı istemcisi | Cihaz üstü işaretli istemci |
| Yönlendirme adresi | https://... | App Link ya da ters-DNS şema |
| Sır (client secret) | Olabilir | Yok — koruma PKCE'de |
Protokol aynıdır: OpenID Connect, authorization code + PKCE.
Hızlı bakış#
import 'react-native-get-random-values';
import { GlobalTrustID } from '@globaltrustid/rn-gti';
const gti = new GlobalTrustID({
clientId: 'gtid_XXXXXXXXXXXX',
redirectUri: 'com.sirketiniz.uygulama://gti',
scope: ['identity.first_name', 'identity.last_name', 'email'],
});
const tokens = await gti.signIn();
const user = await gti.getUserInfo(tokens.accessToken);signIn() GlobalTrustID uygulamasını açar, onayı bekler ve token'larla döner.
Kurulum adımları#
- İstemcinizi kaydedin. Panel → Entegrasyonlar → OAuth Uygulamaları → Cihaz üstü giriş kutusunu işaretleyin. Bu kutu işaretliyken yönlendirme adresi olarak
com.sirketiniz.uygulama://gtigibi ters-DNS bir şema ya dahttp://127.0.0.1:PORT/...loopback adresi de kabul edilir. - Dönüş adresini tanıtın. Android
AndroidManifest.xml'e birintent-filter, iOSInfo.plist'eCFBundleURLTypes. Android'delaunchMode="singleTask"veonNewIntent→setIntentşart. - Rastgelelik kaynağı ekleyin.
react-native-get-random-valueskurup giriş dosyanızın en üstünde import edin — PKCE'nincode_verifierdeğeri tahmin edilemez olmak zorunda.
Her adımın tam hâli, örnek kodlar ve sık karşılaşılan sorunlar deponun README'sinde.
Üretimde adres seçimi#
com.sirketiniz.uygulama:// gibi bir özel şemayı başka bir uygulama da kendine kaydedebilir ve işletim sistemi hangisinin açılacağını garanti etmez. Üretimde, sahibi olduğunuz bir alan adına ait doğrulanmış bir App Link / Universal Link adresi kullanın:
https://sirketiniz.com/gti/callbackÖzel şemayı geliştirme ve ilk denemeler için bırakın.
Hangi alanları isteyebilirsiniz#
OAuth Uygulamaları sayfasındaki scope listesinin tamamı geçerlidir. Mobilde özellikle işe yarayan biri:
age.over_18 — kullanıcı doğum tarihini paylaşmadan reşit olduğunu kanıtlar. Yaş sınırı denetleyen bir uygulamada doğum tarihi istemek yerine bunu isteyin; kullanıcı daha azını paylaşır, siz aynı kararı verirsiniz.
Diğer platformlar#
Swift, Kotlin ve Flutter kütüphaneleri hazırlanıyor. O zamana kadar bu akış standart OpenID Connect olduğu için kendi dilinizdeki bir OIDC istemcisiyle de uygulanabilir — dikkat edilecek tek şey, yetkilendirme adresinin /oauth/authorize değil /app/authorize olması ve PKCE'nin zorunlu olmasıdır.