Roblox, kullanıcıların Roblox hesaplarına giriş yapmalarını ve oyunları boyunca mesajlar yayınlamalarını sağlamak için OAuth 2.0'ı nasıl kullanacaklarını gösteren bir Node.js örnek uygulaması sunar. Bu uygulama, PKCE olmadan yetkilendirme kodu akışını kullanır ve bu nedenle yalnızca özel istemciler, örneğin özel sunucular için uygundur.
.zip dosyasını indirdikten sonra, kendi klasörüne çıkarın.
Uygulamayı Kaydet
Uygulamayı ayarlamanın ilk adımı, onu Roblox web sitesinde kaydetmek ve istemci kimliğini ve sıfresini güvenli bir yere kopyalamaktır. Daha sonra şu ayarlarla standart kayıt adımlarını izleyin:
- İzinler altında, openid, profile ve universe-messaging-service:publish kapsamlarını ekleyin.
- Yeniden Yönlendirme URL'leri altında, http://localhost:3000/oauth/callback yeniden yönlendirmesini ekleyin. Uygulamanız için varsayılan olmayan bir port kullanmak istiyorsanız, buraya belirtin.
Çevresel Değişkenleri Ayarla
İstemci kimliği ve sıfresini kodda saklamak yerine (önerilmez), uygulama bunlar için çevresel değişkenler kullanır. Çevresel değişkenleri ekleme süreci işletim sistemine göre değişiklik gösterebilir.
Windows'ta, aşağıdaki PowerShell komutlarını çalıştırın:
$env:ROBLOX_CLIENT_ID='your_client_id_here'$env:ROBLOX_CLIENT_SECRET='your_client_secret_here'$env:ROBLOX_PORT=3000 # Opsiyonel. Varsayılan 3000'dir.
Mac ve çoğu Linux dağıtımında, terminalde bu komutları çalıştırın:
export ROBLOX_CLIENT_ID=your_client_id_hereexport ROBLOX_CLIENT_SECRET=your_client_secret_hereexport ROBLOX_PORT=3000 # Opsiyonel. Varsayılan 3000'dir.
Uygulamanızı kaydederken yeniden yönlendirme URL'sinde varsayılan olmayan bir port belirlediyseniz, ROBLOX_PORT değişkenini eklemeyi unutmayın.
Bağımlılıkları Yükle
Uygulamanın package.json dosyasında birkaç bağımlılığı vardır. Bunları yüklemek için şunu çalıştırın:
npm ci
Uygulamayı Çalıştır
Uygulamayı başlatmak için şunu çalıştırın:
npm start
Daha sonra bir web tarayıcısında http://localhost:3000 (veya varsayılan olmayan portunuz) adresine gidin.
Uygulama, hemen sizi Roblox giriş ekranına yönlendirir; bu noktada giriş yapabilir, uygulamanın talep ettiği izinleri doğrulayabilir ve Onayla ve Erişim Ver butonuna tıklayabilirsiniz.
Roblox ardından sizi localhost adresine yönlendirir, burada uygulamanın artık bazı temel kullanıcı bilgilerini, Roblox profilinize geri dönmek için bir bağlantıyı ve oyunlarınızda mesaj yayınlamak için kullanabileceğiniz alanları görüntülediğini görebilirsiniz.
Uygulama Hakkında
Genel hatlarıyla, index.js aşağıdaki işlemleri gerçekleştirir:
- express kullanarak yeni bir web sunucusu başlatır.
- Yetkilendirme, kullanıcı bilgileri gibi uç noktaları içeren Roblox OpenID Connect (OIDC) yapılandırmasını alır. Bu uç noktalar hakkında daha fazla bilgi için OAuth 2.0 kimlik doğrulaması sayfasına bakın.
- openid-client ve sakladığınız kimlik bilgilerini kullanarak yeni bir Open ID istemcisi oluşturur. Bu istemci, OAuth 2.0 uç noktalarına düzgün bir şekilde HTTP istekleri oluşturma ve gönderme sürecini büyük ölçüde basitleştirir.
- Uygulamanın rotalarını tanımlar; bunlar giriş ve çıkış akışları için yönlendirmeleri ve OAuth 2.0 geri çağrısını içerir.
- Başarılı bir giriş sonrası, çeşitli tokenları çerezler olarak saklar ve getHomeHtml.js yardımıyla HTML olarak görüntülediği bazı temel kullanıcı bilgilerini depolar.