playgameservices / play-games-plugin-for-unity

Google Play Games plugin for Unity
Other
3.46k stars 965 forks source link

Could not authenticate (status: ERROR_NOT_AUTHORIZED) #1920

Closed bumpmann closed 7 years ago

bumpmann commented 7 years ago

Hello,

I m stuck with the authentication, with the status: ERROR_NOT_AUTHORIZED.

Unity 2017.1.0p5 PG plugin: 0.9.40

My initialization code is called in a MonoBehaviour Start():

PlayGamesClientConfiguration config = new PlayGamesClientConfiguration.Builder()
    .RequestServerAuthCode(false)
    .Build();
PlayGamesPlatform.InitializeInstance(config);
PlayGamesPlatform.DebugLogEnabled = true;
PlayGamesPlatform.Activate();
Debug.Log("activate GPGPS");

And the authentication is called from a Unity button click:

//PlayGamesPlatform.Instance.Authenticate((success, result) =>
//Social.Active.Authenticate(Social.localUser, (success) =>
Social.localUser.Authenticate((success) =>
{
    Debug.Log("Success:" + success.ToString() + "/" + PlayGamesPlatform.Instance.GetServerAuthCode());
});

In Google Play Console:

screen2

screen3

The Web client 884..-.o74... has been generated with allowed js origins http://localhost, http://localhost:5000 and https://yyy-424242.firebaseapp.com (the generated firebase app domain with my app name / id)

and the allowed redirect uri : https://yyy-424242.firebaseapp.com/__/auth/handler

In the firebase app, Authentication > connection modes, only google is enabled and setup to use the app 884-...-o74 and its secret key.

In the firebase app settings, the app is configured for the package name com.xxx.yyy, and there are the fingerprints of the two certs (AF:... / F7:... plus their sha-256)

In Unity: Window / Google Play Games > Setup > Android Setup: screen4 (Assets...\Client\Config is an existing folder)

And popped "resolution complete" / "google play games configured successfully".

About the logs i m getting on unity:

<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Unable to lookup library path for 'AudioPluginMsHRTF', native render plugin support disabled.
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Unable to lookup library path for 'AudioPluginOculusSpatializer', native render plugin support disabled.
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Unable to lookup library path for 'libAudioPluginOculusSpatializer', native render plugin support disabled.
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> PlayerInitEngineNoGraphics OK
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> AndroidGraphics::Startup window =  0xd3e46808
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> [EGL] Attaching window :0xd3e46808
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> [EGL] Request: ES 3.1+AEP RGB0 000 0/0
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> [EGL] Checking ES 3.1 support...
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> [EGL] ES 3.1 support detected
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> [EGL] Found: ID[1] ES 3.1+AEP RGB16 565 0/0
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> [EGL] Request: ES 3.1+AEP RGB0 000 0/0
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> [EGL] Found: ID[1] ES 3.1+AEP RGB16 565 0/0
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> [EGL] Request: ES 3.0 RGBA32 8888 0/0
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> [EGL] Found: ID[9] ES 3.0 RGBA32 8888 0/0 AFBT
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> ANativeWindow: (1536/2048) RequestedResolution: (0/0) RenderingResolution: (0/0) EGLSurface: (1536/2048)
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Renderer: Adreno (TM) 510
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Vendor:   Qualcomm
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Version:  OpenGL ES 3.2 V@145.0 (GIT@I8e5c908169)
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> GLES:     3
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> OPENGL LOG: Creating OpenGL ES 3.2 graphics device ; Context level  <OpenGL ES 3.1 AEP> ; Context handle -795910016
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> [EGL] Attaching window :0xd3e46808
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Requested framebuffer: resolution[1536x2048], rgba[8/8/8/8], depth+stencil[on], samples[1]
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Created framebuffer: resolution[1536x2048], rgba[8/8/8/8], depth+stencil[24/8], samples[0] 
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> [EGL] Attaching window :0xd3e46808
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Initialize engine version: 2017.1.0p5 (de463fc61bac)
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> AudioManager: Selecting AudioTrack output...
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Begin MonoManager ReloadAssembly
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Platform assembly: /data/app/com.xxx.yyy-1/base.apk/assets/bin/Data/Managed/UnityEngine.dll (this message is harmless)
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Loading /data/app/com.xxx.yyy-1/base.apk/assets/bin/Data/Managed/UnityEngine.dll into Unity Child Domain
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Platform assembly: /data/app/com.xxx.yyy-1/base.apk/assets/bin/Data/Managed/Assembly-CSharp.dll (this message is harmless)
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Loading /data/app/com.xxx.yyy-1/base.apk/assets/bin/Data/Managed/Assembly-CSharp.dll into Unity Child Domain
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Platform assembly: /data/app/com.xxx.yyy-1/base.apk/assets/bin/Data/Managed/UnityEngine.UI.dll (this message is harmless)
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Loading /data/app/com.xxx.yyy-1/base.apk/assets/bin/Data/Managed/UnityEngine.UI.dll into Unity Child Domain
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Platform assembly: /data/app/com.xxx.yyy-1/base.apk/assets/bin/Data/Managed/UnityEngine.Networking.dll (this message is harmless)
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Loading /data/app/com.xxx.yyy-1/base.apk/assets/bin/Data/Managed/UnityEngine.Networking.dll into Unity Child Domain
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Platform assembly: /data/app/com.xxx.yyy-1/base.apk/assets/bin/Data/Managed/UnityEngine.Timeline.dll (this message is harmless)
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Loading /data/app/com.xxx.yyy-1/base.apk/assets/bin/Data/Managed/UnityEngine.Timeline.dll into Unity Child Domain
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Platform assembly: /data/app/com.xxx.yyy-1/base.apk/assets/bin/Data/Managed/DemiLib.dll (this message is harmless)
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Loading /data/app/com.xxx.yyy-1/base.apk/assets/bin/Data/Managed/DemiLib.dll into Unity Child Domain
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Platform assembly: /data/app/com.xxx.yyy-1/base.apk/assets/bin/Data/Managed/DOTween.dll (this message is harmless)
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Loading /data/app/com.xxx.yyy-1/base.apk/assets/bin/Data/Managed/DOTween.dll into Unity Child Domain
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Platform assembly: /data/app/com.xxx.yyy-1/base.apk/assets/bin/Data/Managed/DOTween43.dll (this message is harmless)
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Loading /data/app/com.xxx.yyy-1/base.apk/assets/bin/Data/Managed/DOTween43.dll into Unity Child Domain
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Platform assembly: /data/app/com.xxx.yyy-1/base.apk/assets/bin/Data/Managed/DOTween46.dll (this message is harmless)
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Loading /data/app/com.xxx.yyy-1/base.apk/assets/bin/Data/Managed/DOTween46.dll into Unity Child Domain
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Platform assembly: /data/app/com.xxx.yyy-1/base.apk/assets/bin/Data/Managed/DOTween50.dll (this message is harmless)
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Loading /data/app/com.xxx.yyy-1/base.apk/assets/bin/Data/Managed/DOTween50.dll into Unity Child Domain
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Platform assembly: /data/app/com.xxx.yyy-1/base.apk/assets/bin/Data/Managed/DOTweenPro.dll (this message is harmless)
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Loading /data/app/com.xxx.yyy-1/base.apk/assets/bin/Data/Managed/DOTweenPro.dll into Unity Child Domain
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Platform assembly: /data/app/com.xxx.yyy-1/base.apk/assets/bin/Data/Managed/BouncyCastle_GameSparks.dll (this message is harmless)
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Loading /data/app/com.xxx.yyy-1/base.apk/assets/bin/Data/Managed/BouncyCastle_GameSparks.dll into Unity Child Domain
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Platform assembly: /data/app/com.xxx.yyy-1/base.apk/assets/bin/Data/Managed/GameSparks.Api.dll (this message is harmless)
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Loading /data/app/com.xxx.yyy-1/base.apk/assets/bin/Data/Managed/GameSparks.Api.dll into Unity Child Domain
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Platform assembly: /data/app/com.xxx.yyy-1/base.apk/assets/bin/Data/Managed/GameSparks.dll (this message is harmless)
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Loading /data/app/com.xxx.yyy-1/base.apk/assets/bin/Data/Managed/GameSparks.dll into Unity Child Domain
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Platform assembly: /data/app/com.xxx.yyy-1/base.apk/assets/bin/Data/Managed/GameSparksRT.dll (this message is harmless)
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Loading /data/app/com.xxx.yyy-1/base.apk/assets/bin/Data/Managed/GameSparksRT.dll into Unity Child Domain
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Platform assembly: /data/app/com.xxx.yyy-1/base.apk/assets/bin/Data/Managed/ArabicSupport.dll (this message is harmless)
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Loading /data/app/com.xxx.yyy-1/base.apk/assets/bin/Data/Managed/ArabicSupport.dll into Unity Child Domain
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Platform assembly: /data/app/com.xxx.yyy-1/base.apk/assets/bin/Data/Managed/TextMeshPro-1.0.55.2017.1.0b12.dll (this message is harmless)
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Loading /data/app/com.xxx.yyy-1/base.apk/assets/bin/Data/Managed/TextMeshPro-1.0.55.2017.1.0b12.dll into Unity Child Domain
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Platform assembly: /data/app/com.xxx.yyy-1/base.apk/assets/bin/Data/Managed/System.dll (this message is harmless)
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Platform assembly: /data/app/com.xxx.yyy-1/base.apk/assets/bin/Data/Managed/System.Core.dll (this message is harmless)
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> - Completed reload, in  0.183 seconds
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> PlayerInitEngineGraphics OK
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Found 15 native sensors
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Sensor :        Accelerometer ( 1) ; 0.001196 / 0.01s ; LSM6DS3 Accelerometer Sensor / STMicroelectronics 
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Sensor :        Accelerometer ( 1) ; 0.001196 / 0.01s ; LSM6DS3 Accelerometer Sensor / STMicroelectronics 
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> UnloadTime: 4.640000 ms
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> UUID: fe77ac4d24d3d6e => 29b04834718159b4dc3d2071138b40c9
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Sensor :        Accelerometer ( 1) ; 0.001196 / 0.01s ; LSM6DS3 Accelerometer Sensor / STMicroelectronics 
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Choreographer available: Enabling VSYNC timing
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> activate GPGPS
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Unloading 5 Unused Serialized files (Serialized files now loaded: 0)
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Setting up 1 worker threads for Enlighten.
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i>   Thread -> id: ffffffffc8380920 -> priority: 1 
Assets/GooglePlayGames/Platforms/Android/AndroidTokenClient.cs(275,23): warning CS0114: `GooglePlayGames.Android.TokenResultCallback.toString()' hides inherited member `UnityEngine.AndroidJavaProxy.toString()'. To make the current member override that implementation, add the override keyword. Otherwise add the new keyword
Loaded VersionHandlerImpl
Detected .NET version 3.5
Assets/PlayServicesResolver/Editor/Google.IOSResolver.dll metadata will be checked
Assets/PlayServicesResolver/Editor/Google.JarResolver.dll metadata will be checked
Assets/PlayServicesResolver/Editor/Google.VersionHandler.dll metadata will be checked
Assets/PlayServicesResolver/Editor/Google.VersionHandlerImpl.dll metadata will be checked
Assets/PlayServicesResolver/Editor/play-services-resolver.txt metadata will be checked
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Starting Auth with token client.
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> !!! [Play Games Plugin DLL] 09/19/17 11:03:09 +02:00 WARNING: Creating new PlayGamesPlatform
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i>  [Play Games Plugin DLL] 09/19/17 11:03:09 +02:00 DEBUG: Activating PlayGamesPlatform.
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i>  [Play Games Plugin DLL] 09/19/17 11:03:09 +02:00 DEBUG: PlayGamesPlatform activated: GooglePlayGames.PlayGamesPlatform
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i>  [Play Games Plugin DLL] 09/19/17 11:03:09 +02:00 DEBUG: Creating platform-specific Play Games client.
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i>  [Play Games Plugin DLL] 09/19/17 11:03:09 +02:00 DEBUG: Creating Android IPlayGamesClient Client
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> ---- [0] -- 2097189
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Sensor :        Accelerometer ( 1) ; 0.001196 / 0.01s ; LSM6DS3 Accelerometer Sensor / STMicroelectronics 
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Building GPG services, implicitly attempts silent auth
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Sensor :        Accelerometer ( 1) ; 0.001196 / 0.01s ; LSM6DS3 Accelerometer Sensor / STMicroelectronics 
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Choreographer available: Enabling VSYNC timing
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i>  [Play Games Plugin DLL] 09/19/17 11:03:17 +02:00 DEBUG: Starting Auth Transition. Op: SIGN_IN status: 4
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i>  [Play Games Plugin DLL] 09/19/17 11:03:17 +02:00 DEBUG: Invoking callbacks, AuthState changed from silentPending to Unauthenticated.
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i>  [Play Games Plugin DLL] 09/19/17 11:03:17 +02:00 DEBUG: there are pending auth callbacks - starting AuthUI
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i>  [Play Games Plugin DLL] 09/19/17 11:03:17 +02:00 DEBUG: Starting Auth Transition. Op: SIGN_IN status: ERROR_NOT_AUTHORIZED
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i>  [Play Games Plugin DLL] 09/19/17 11:03:17 +02:00 DEBUG: AuthState == Unauthenticated calling auth callbacks with failure
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i> Success:False/
<i>AndroidPlayer(samsung_SM-T713@192.168.3.115)</i>  [Play Games Plugin DLL] 09/19/17 11:03:17 +02:00 DEBUG: Invoking user callback on game thread

I have no idea where i missed something.... can you help me to point this out ?

justy-p commented 7 years ago

Hi,

Can you try to add the profile scope in

PlayGamesClientConfiguration config = new PlayGamesClientConfiguration.Builder()
.AddOauthScope("profile")
    .RequestServerAuthCode(false)
    .Build();

And tell me if that does any authorization difference?

bumpmann commented 7 years ago

When adding the profile scope, it opens the authorize window (the first time), but when i push "allow" it continue and still logs the same things (Op: SIGN_IN status: ERROR_NOT_AUTHORIZED etc.) with success == false.

When i retry i do not have the window (already allowed) and it's the same that if i didn't add the profile scope.

bumpmann commented 7 years ago

There was two google accounts on my device. I tested with an other smartphone, with only one account (the one used to create the google play app) but it did not change anything.

bumpmann commented 7 years ago

Okay, it looks like I needed to fill all the informations until i am ready to publish the alpha. So, it can be either the part in Prices & availability (e.g. coutries availability ?), or the description etc. on play store.

Nevertheless it should be warned in the readme.