Meine App verwendet OAuthed Cloud Endpoints und funktioniert in der Produktion einwandfrei.
Mein Problem besteht darin, dass auf dem lokalen Entwicklungsserver mein Benutzer example@example.com immer eingestellt ist, obwohl ich den üblichen Authentifizierungsprozess, Zugangscode usw. durchlaufen habe und einen gültigen authentifizierten Benutzer habe.
Ich verstehe, dass example@example.com nützlich ist, um OAuth-Endpunkte zu testen, bevor ich OAuth ordnungsgemäß implementiert habe, aber da meine App funktioniert, würde ich lieber den tatsächlichen Benutzer dort sehen.
Um genau zu sein, ist meine Endpunkt-Methode
@ApiMethod(name = "insertEmp"), usw.
public Emp insertEmp(User user, Emp emp) {
System.out.println(user.getEmail()); // (A) Protokolliere "appengine" E-Mail
System.out.println(OAuthServiceFactory.getOAuthService().getCurrentUser().getEmail(); // (B) Protokolliere authentifizierte E-Mail
...
Bei der Bereitstellung funktioniert alles einwandfrei, und sowohl (A) als auch (B) protokollieren den authentifizierten Benutzer (my.email@gmail.com).
Beim Testen auf meinem lokalen Entwicklungsserver protokolliert (A) immer "example@example.com", obwohl ich den OAuth-Ablauf durchlaufen habe und einen gültigen authentifizierten Benutzer habe, und (B) protokolliert my.email@gmail.com. Um eine präzise Testung durchzuführen, benötige ich, dass der Benutzer der tatsächliche authentifizierte Benutzer ist.
Also, in einfachen Worten, wie kann ich erreichen, dass (A) und (B) identisch sind?