NOT tarafından barındırılan etki alanı hesaplarında bulunankullanıcı tanımlayıcısıtarafından döndürülen Google Hesapları, beklendiği gibi her zaman UserService.getCurrentUser().getUserId()
yanıtıyla eşleşir. Ancak, barındırılan etki alanı hesaplarında, sub
tanımlayıcısı, UserService.getCurrentUser().getUserId()
yanıtıyla eşleşmiyor. Kullanıcının Android Id Jetonu için Google Sign-in'i veya sunucu tarafındaki UserService tarayıcı oturum açmasını kullanarak oturum açıp açmadığına bakılmaksızın, barındırılan alan hesapları için ortak bir kullanıcı tanımlayıcısına nasıl sahip olabiliriz? Ben tutarsızlık Kimlik Kiti birden OAuth sağlayıcıları ile entegre ayrı bir proje ise Google App Engine, doğrudan Google'ın kendi kimlik doğrulama/kullanıcı hesabı sistemini kullanıyor olması bir eserdir eminim: Neden olarakAndroid için Google Oturum Açma özelliği, neden barındırılan etki alanı hesaplarının UserService.getCurrentUser() 'ından farklı bir "alt" kullanıcı tanımlayıcısı döndürüyor?
5
A
cevap
0
. Diğer bir deyişle, bir noktada sadece gevşek bir şekilde bütünleşmiş olan projelerdir.
sorunu çözmek için, benim tavsiyem App Engine üzerinde Google'ın kendi kimlik doğrulama API kullanmak ve bunun yerine sadece tabii Android/iOS Kimlik nesneleri olarak aynı veri ve şema kullanacağı, Identity Toolkit Web kullanmayın etmektir. Identity Toolkit'i başka bir web uygulaması gibi kullanmak oldukça basit ve GAE'nin dışında taşınabilir.App Engine oluşturulduğunda Identity Toolkit çevredeyse, belki otomatik olarak tümleştirilecekti ve her şey işe yarayacaktı. Ancak, onları gerçekten karıştırıp eşleştiremediğinizi buldum; birini seç ve onunla kal.
Neden farklı olduklarını açıklayamıyorum, ancak e-posta adresini barındırılan etki alanı hesapları için idToken.getPayload(). GetEmail() ile eşzamanlı bir kimlik olarak kullanmak bir geri dönüşün her zaman UserService.getCurrentUser(). GetEmail ile eşleşmesidir(). – Adam
Google hesapları için e-posta adresleri değişebilir, bu nedenle kullanıcıları benzersiz şekilde tanımlamanın çok güvenilir bir yöntemi değildir. –