Genişletilebilir nasıl yapılır
Öncelikle tüm bu api'lerin giriş yapmak için aynı mekanizmayı kullandığını fark etmelisiniz. Bu, genel bir OAuth kütüphanesinden başlayarak kaldıraç kullanmanız gerekir. Kimlik doğrulama için kendi kütüphanelerini kullanmayın, bunlar diğer sağlayıcılar için kullanılamaz. Eğer OAuth2'nin çözümünü kaparsanız, daha fazla sağlayıcı eklemek oldukça kolaydır.
Ne yazık ki bunlardan ikisine ihtiyacınız var, çünkü twitter hala OAuth2 bandagonuna atlamadı.
OAuth kimlik doğrulaması yapan taraf için bir arayüz oluşturmanızı ister. Belirteçler sunucuya sunucuya aktarılacaktır. Tüm iletişimi yönetebilecek bir giriş noktası oluşturun.
Belirteç, hesabınızdan ayrı bir tabloda depolanmalıdır, bunun nedeni, birden çok belirteç ve birden çok bağlantılı profil olabilir. Bazı servisler size iki belirteç verir, bunlardan biri bir yenileme belirtecidir.
Artık ihtiyacınız olan diğer işlevselliği içeren bir arayüz tasarlıyorsunuz. Şahsen bunun için ayrı bir REST servisi kurardım. Bu şekilde, kimlik doğrulamayı kolayca başka yerlere uzatabilirsiniz.
Bazı servisler iletişim kurmak için JSON'u, diğerleri ise XML'i kullanır. Ön kullanıcı için hepsini birleştirmeniz gerekir. Bu oldukça acı verici bir süreçtir, ancak burada bazı ortak zeminler elde etmek mümkündür.
Buradaki diğer bir problem, tüm servislerin aynı işlevselliği sağlaması değildir. Bu, hizmetlerinizin belirttiğiniz gibi tam API'yi sağlayamayacağı anlamına gelebilir. Burada uygulamanın zarafetle düşürülmesine izin veren bir stratejiniz olması gerekir.
Tüm bunlar kolayca yeni 3. parti sağlayıcılar ekleyebilmenizi sağlayacaktır.
Token problemleri
Belirteçler zamanla sınırlıdır, bu nedenle belirtecin hala kullanılabilir olup olmadığını kontrol edebilecek birkaç cron işine ihtiyacınız vardır, aksi takdirde silmeniz gerekir. Bu mekanizma ile bir jetonu da yenileyebilirsiniz.
Bazen, bir kullanıcının belirteci geri çektiği olur. Bunun için hazır olun.
Veri depolama
Bu tasarıma sahipseniz, ihtiyacınız olan verileri düşünmeniz gerekir. Bu kısmen yeni oluşturduğunuz arabirimden gelir. Bunun için bazı tablolar tasarlayın ve verinin gerçekte alınabilir olup olmadığına bakın. Bazı servisler çok fazla veri toplamanıza izin vermez. Ayrıca, ihtiyaç duyduğunuz verinin gizlilik mesajlarının ne kadar katı olduğunu da hesaba katmalısınız. Bu yüzden ihtiyaçlarınızda mütevazı olun, aksi takdirde kullanıcılar bunu kullanmaz.
Ek doğrulama için, profilleri kullanıcılarınıza ayrı, ancak bağlantılı bir tabloda saklayabilirsiniz. Bu size biri hakkında daha fazla bilgi sağlayacaktır.
Ayrıca, yerel yasalarınızı da kontrol edin, bazı veriler için ek önlemlere ihtiyacınız var.
Son şey
Kendi hizmetlerinizde hesap oluşturmadığınız hatayı yapmayın. Kullanıcı facebook'tan men edilirse, hizmetinize giriş yapamaz. Bu oluşturmak istemediğiniz bir durumdur. Bu genellikle göz ardı edilir.