Esempio n. 1
0
    public override void RequestBind(BindResultCallback bind_callback = null)
    {
        Debug.Log("[FacebookAuthProvider] RequestBind");

        mBindResultCallback = bind_callback;

        string auth_login = PlayerPrefs.GetString(SnipePrefs.AUTH_UID);
        string auth_token = PlayerPrefs.GetString(SnipePrefs.AUTH_KEY);

        if (!string.IsNullOrEmpty(auth_login) && !string.IsNullOrEmpty(auth_token))
        {
            if (FB.IsLoggedIn && AccessToken.CurrentAccessToken != null)
            {
                ExpandoObject data = new ExpandoObject()
                {
                    ["messageType"] = REQUEST_USER_BIND,
                    ["provider"]    = ProviderId,
                    ["login"]       = AccessToken.CurrentAccessToken.UserId,
                    ["auth"]        = AccessToken.CurrentAccessToken.TokenString,
                    ["loginInt"]    = auth_login,
                    ["authInt"]     = auth_token,
                };

                Debug.Log("[FacebookAuthProvider] send user.bind " + data.ToJSONString());
                SingleRequestClient.Request(SnipeConfig.Instance.auth, data, OnBindResponse);

                return;
            }
        }

        FacebookProvider.InstanceInitializationComplete -= OnFacebookProviderInitializationComplete;
        FacebookProvider.InstanceInitializationComplete += OnFacebookProviderInitializationComplete;

        InvokeBindResultCallback(ERROR_NOT_INITIALIZED);
    }
Esempio n. 2
0
        public virtual void RequestBind(BindResultCallback bind_callback = null)
        {
            // Override this method.

            mBindResultCallback = bind_callback;

            InvokeBindResultCallback(IsBindDone ? SnipeErrorCodes.OK : SnipeErrorCodes.NOT_INITIALIZED);
        }
        public virtual void RequestBind(BindResultCallback bind_callback = null)
        {
            // Override this method.

            mBindResultCallback = bind_callback;

            InvokeBindResultCallback(ERROR_NOT_INITIALIZED);
        }
Esempio n. 4
0
        protected virtual void InvokeBindResultCallback(string error_code)
        {
            DebugLogger.Log($"[BindProvider] ({ProviderId}) InvokeBindResultCallback - {error_code}");

            if (mBindResultCallback != null)
            {
                mBindResultCallback.Invoke(this, error_code);
            }

            mBindResultCallback = null;
        }
    public override void RequestBind(BindResultCallback bind_callback = null)
    {
        Debug.Log("[GooglePlayAuthProvider] RequestBind");

        mBindResultCallback = bind_callback;

#if UNITY_ANDROID
        if (PlayerPrefs.HasKey(SnipePrefs.AUTH_UID) && PlayerPrefs.HasKey(SnipePrefs.AUTH_KEY))
        {
            if (GooglePlayProvider.InstanceInitialized)
            {
                Debug.Log("[GooglePlayAuthProvider] GetServerAuthToken");

                GooglePlayProvider.Instance.GetServerAuthToken((google_token) =>
                {
                    if (string.IsNullOrEmpty(google_token))
                    {
                        Debug.Log("[GooglePlayAuthProvider] google_token is empty");
                        InvokeBindResultCallback(AuthProvider.ERROR_NOT_INITIALIZED);
                        return;
                    }

                    string auth_login = PlayerPrefs.GetString(SnipePrefs.AUTH_UID);
                    string auth_token = PlayerPrefs.GetString(SnipePrefs.AUTH_KEY);

                    if (string.IsNullOrEmpty(auth_login) || string.IsNullOrEmpty(auth_token))
                    {
                        Debug.Log("[GooglePlayAuthProvider] internal uid or token is invalid");
                        InvokeBindResultCallback(AuthProvider.ERROR_PARAMS_WRONG);
                        return;
                    }

                    ExpandoObject data  = new ExpandoObject();
                    data["messageType"] = REQUEST_USER_BIND;
                    data["provider"]    = ProviderId;
                    data["login"]       = GooglePlayProvider.Instance.PlayerProfile.Id;
                    data["auth"]        = google_token;
                    data["loginInt"]    = auth_login;
                    data["authInt"]     = auth_token;

                    Debug.Log("[GooglePlayAuthProvider] send user.bind " + data.ToJSONString());
                    SingleRequestClient.Request(SnipeConfig.Instance.auth, data, OnBindResponse);
                });

                return;
            }
        }

        GooglePlayProvider.InstanceInitializationComplete -= OnGooglePlayProviderInitializationComplete;
        GooglePlayProvider.InstanceInitializationComplete += OnGooglePlayProviderInitializationComplete;
#endif

        InvokeBindResultCallback(ERROR_NOT_INITIALIZED);
    }
Esempio n. 6
0
    public override void RequestBind(BindResultCallback bind_callback = null)
    {
        Debug.Log("[AppleGameCenterAuthProvider] RequestBind");

        mBindResultCallback = bind_callback;

#if UNITY_IOS
        if (PlayerPrefs.HasKey(SnipePrefs.AUTH_UID) && PlayerPrefs.HasKey(SnipePrefs.AUTH_KEY))
        {
            if (AppleGameCenterProvider.InstanceInitialized)
            {
                string gc_login = AppleGameCenterProvider.Instance.PlayerProfile.Id;
                if (!string.IsNullOrEmpty(gc_login))
                {
                    mLoginSignatureCallback = (data) =>
                    {
                        Debug.Log("[AppleGameCenterAuthProvider] RequestBind - LoginSignatureCallback");

                        string auth_login = PlayerPrefs.GetString(SnipePrefs.AUTH_UID);
                        string auth_token = PlayerPrefs.GetString(SnipePrefs.AUTH_KEY);

                        if (string.IsNullOrEmpty(auth_login) || string.IsNullOrEmpty(auth_token))
                        {
                            Debug.Log("[AppleGameCenterAuthProvider] internal uid or token is invalid");
                            InvokeBindResultCallback(AuthProvider.ERROR_PARAMS_WRONG);
                            return;
                        }

                        data["messageType"] = REQUEST_USER_BIND;
                        data["provider"]    = ProviderId;
                        data["login"]       = gc_login;
                        //data["auth"] = login_token;
                        data["loginInt"] = auth_login;
                        data["authInt"]  = auth_token;

                        Debug.Log("[AppleGameCenterAuthProvider] send user.bind " + data.ToJSONString());
                        SingleRequestClient.Request(SnipeConfig.Instance.auth, data, OnBindResponse);
                    };
                    generateIdentityVerificationSignature(VerificationSignatureGeneratorCallback);
                    return;
                }

                return;
            }
        }

        AppleGameCenterProvider.InstanceInitializationComplete -= OnAppleGameCenterProviderInitializationComplete;
        AppleGameCenterProvider.InstanceInitializationComplete += OnAppleGameCenterProviderInitializationComplete;
#endif

        InvokeBindResultCallback(ERROR_NOT_INITIALIZED);
    }
    public override void RequestBind(BindResultCallback bind_callback = null)
    {
        DebugLogger.Log("[FacebookAuthProvider] RequestBind");

        mBindResultCallback = bind_callback;

        if (IsBindDone)
        {
            InvokeBindResultCallback(SnipeErrorCodes.OK);
            return;
        }

        string auth_login = PlayerPrefs.GetString(SnipePrefs.AUTH_UID);
        string auth_token = PlayerPrefs.GetString(SnipePrefs.AUTH_KEY);

        if (!string.IsNullOrEmpty(auth_login) && !string.IsNullOrEmpty(auth_token))
        {
            if (FB.IsLoggedIn && AccessToken.CurrentAccessToken != null)
            {
                SnipeObject data = new SnipeObject()
                {
                    ["ckey"]     = SnipeConfig.Instance.ClientKey,
                    ["provider"] = ProviderId,
                    ["login"]    = AccessToken.CurrentAccessToken.UserId,
                    ["auth"]     = AccessToken.CurrentAccessToken.TokenString,
                    ["loginInt"] = auth_login,
                    ["authInt"]  = auth_token,
                };

                DebugLogger.Log("[FacebookAuthProvider] send user.bind " + data.ToJSONString());
                SnipeCommunicator.Instance.CreateRequest(SnipeMessageTypes.AUTH_USER_BIND)?.RequestAuth(data, OnBindResponse);

                return;
            }
        }

        if (!FacebookProvider.InstanceInitialized)
        {
            FacebookProvider.InstanceInitializationComplete -= OnFacebookProviderInitializationComplete;
            FacebookProvider.InstanceInitializationComplete += OnFacebookProviderInitializationComplete;
        }

        InvokeBindResultCallback(SnipeErrorCodes.NOT_INITIALIZED);
    }
Esempio n. 8
0
    public override void RequestBind(BindResultCallback bind_callback = null)
    {
        DebugLogger.Log("[DeviceIdAuthProvider] RequestBind");

        mBindResultCallback = bind_callback;

        if (IsBindDone)
        {
            InvokeBindResultCallback(SnipeErrorCodes.OK);
            return;
        }

        if (SystemInfo.unsupportedIdentifier != SystemInfo.deviceUniqueIdentifier)
        {
            string auth_login = PlayerPrefs.GetString(SnipePrefs.AUTH_UID);
            string auth_token = PlayerPrefs.GetString(SnipePrefs.AUTH_KEY);

            if (string.IsNullOrEmpty(auth_login) || string.IsNullOrEmpty(auth_token))
            {
                DebugLogger.Log("[DeviceIdAuthProvider] internal uid or token is invalid");

                InvokeBindResultCallback(SnipeErrorCodes.PARAMS_WRONG);
            }
            else
            {
                SnipeObject data = new SnipeObject()
                {
                    ["ckey"]     = SnipeConfig.Instance.ClientKey,
                    ["provider"] = ProviderId,
                    ["login"]    = GetUserId(),
                    ["loginInt"] = auth_login,
                    ["authInt"]  = auth_token,
                };

                DebugLogger.Log("[DeviceIdAuthProvider] send user.bind " + data.ToJSONString());
                SnipeCommunicator.Instance.CreateRequest(SnipeMessageTypes.AUTH_USER_BIND)?.RequestAuth(data, OnBindResponse);
            }
        }
        else
        {
            InvokeAuthFailCallback(SnipeErrorCodes.NOT_INITIALIZED);
        }
    }
Esempio n. 9
0
        public override void Dispose()
        {
            mBindResultCallback = null;

            base.Dispose();
        }
    public override void RequestBind(BindResultCallback bind_callback = null)
    {
        DebugLogger.Log("[AdvertisingIdAuthProvider] RequestBind");

        if (mBindResultCallback != null && mBindResultCallback != bind_callback)
        {
            DebugLogger.LogWarning("[AdvertisingIdAuthProvider] Bind callback is not null. Previous callback will not be called.");
        }

        mBindResultCallback = bind_callback;

        if (IsBindDone)
        {
            InvokeBindResultCallback(SnipeErrorCodes.OK);
            return;
        }

        void advertising_id_callback(string advertising_id, bool tracking_enabled, string error)
        {
            DebugLogger.Log($"[AdvertisingIdAuthProvider] advertising_id : {advertising_id} , {error}");

            if (AdvertisingId == advertising_id && IsBindDone)
            {
                InvokeBindResultCallback(SnipeErrorCodes.OK);
                return;
            }

            AdvertisingId = advertising_id;

            string auth_login = PlayerPrefs.GetString(SnipePrefs.AUTH_UID);
            string auth_token = PlayerPrefs.GetString(SnipePrefs.AUTH_KEY);

            if (string.IsNullOrEmpty(auth_login) || string.IsNullOrEmpty(auth_token))
            {
                DebugLogger.Log("[AdvertisingIdAuthProvider] internal uid or token is invalid");

                InvokeBindResultCallback(SnipeErrorCodes.PARAMS_WRONG);
            }
            else
            {
                if (CheckAdvertisingId(advertising_id))
                {
                    SnipeObject data = new SnipeObject()
                    {
                        ["ckey"]     = SnipeConfig.Instance.ClientKey,
                        ["provider"] = ProviderId,
                        ["login"]    = advertising_id,
                        ["loginInt"] = auth_login,
                        ["authInt"]  = auth_token,
                    };

                    if (mBindRequestData != null && SnipeObject.ContentEquals(mBindRequestData, data))
                    {
                        DebugLogger.LogWarning("[AdvertisingIdAuthProvider] Bind is already requested. This request will not be performed.");
                    }
                    else
                    {
                        mBindRequestData = data;

                        DebugLogger.Log("[AdvertisingIdAuthProvider] send user.bind " + data.ToJSONString());
                        SnipeCommunicator.Instance.CreateRequest(SnipeMessageTypes.AUTH_USER_BIND)?.RequestAuth(data, OnBindResponse);
                    }
                }
                else
                {
                    DebugLogger.Log("[AdvertisingIdAuthProvider] advertising_id is invalid");

                    InvokeBindResultCallback(SnipeErrorCodes.NOT_INITIALIZED);
                }
            }
        }

        if (CheckAdvertisingId(AdvertisingId))
        {
            DebugLogger.Log("[AdvertisingIdAuthProvider] advertising id is already known");
            advertising_id_callback(AdvertisingId, false, "");
        }
        else if (!Application.RequestAdvertisingIdentifierAsync(advertising_id_callback))
        {
            DebugLogger.Log("[AdvertisingIdAuthProvider] advertising id is not supported on this platform");

            InvokeAuthFailCallback(SnipeErrorCodes.NOT_INITIALIZED);
        }
    }
    public override void RequestBind(BindResultCallback bind_callback = null)
    {
        Debug.Log("[AdvertisingIdAuthProvider] RequestBind");

        //NeedToBind = false;
        mBindResultCallback = bind_callback;

        void advertising_id_callback(string advertising_id, bool tracking_enabled, string error)
        {
            Debug.Log($"[AdvertisingIdAuthProvider] advertising_id : {advertising_id} , {error}");

            AdvertisingId = advertising_id;

            string auth_login = PlayerPrefs.GetString(SnipePrefs.AUTH_UID);
            string auth_token = PlayerPrefs.GetString(SnipePrefs.AUTH_KEY);

            if (string.IsNullOrEmpty(auth_login) || string.IsNullOrEmpty(auth_token))
            {
                Debug.Log("[AdvertisingIdAuthProvider] internal uid or token is invalid");

                InvokeBindResultCallback(AuthProvider.ERROR_PARAMS_WRONG);
            }
            else
            {
                if (CheckAdvertisingId(advertising_id))
                {
                    ExpandoObject data = new ExpandoObject()
                    {
                        ["messageType"] = REQUEST_USER_BIND,
                        ["provider"]    = ProviderId,
                        ["login"]       = advertising_id,
                        ["loginInt"]    = auth_login,
                        ["authInt"]     = auth_token,
                    };

                    Debug.Log("[AdvertisingIdAuthProvider] send user.bind " + data.ToJSONString());
                    SingleRequestClient.Request(SnipeConfig.Instance.auth, data, OnBindResponse);
                }
                else
                {
                    Debug.Log("[AdvertisingIdAuthProvider] advertising_id is invalid");

                    InvokeBindResultCallback(AuthProvider.ERROR_NOT_INITIALIZED);
                }
            }
        }

        if (!Application.RequestAdvertisingIdentifierAsync(advertising_id_callback))
        {
            if (DeviceIdFallbackEnabled && SystemInfo.unsupportedIdentifier != SystemInfo.deviceUniqueIdentifier)
            {
                advertising_id_callback(SystemInfo.deviceUniqueIdentifier, false, "");
            }
            else
            {
                Debug.Log("[AdvertisingIdAuthProvider] advertising id is not supported on this platform");

                InvokeAuthFailCallback(AuthProvider.ERROR_NOT_INITIALIZED);
            }
        }
    }