private void SwitchToDefaultAuthProvider() { if (mCurrentProvider != null && !(mCurrentProvider is DefaultAuthProvider)) { mCurrentProvider.Dispose(); mCurrentProvider = null; } if (mCurrentProvider == null) { mCurrentProvider = new DefaultAuthProvider(); } }
private void InvokeAuthFailCallback() { if (mAuthFailedCallback != null) { mAuthFailedCallback.Invoke(); } mAuthSucceededCallback = null; mAuthFailedCallback = null; mCurrentProvider?.Dispose(); mCurrentProvider = null; }
public static bool SetCurrentProvider(AuthProvider provider) { Debug.Log($"[SnipeAuthCommunicator] SetCurrentProvider - {provider?.ProviderId}"); InitInstance(); if (provider == null) { if (mInstance.mCurrentProvider != null) { mInstance.mCurrentProvider.Dispose(); mInstance.mCurrentProvider = null; } return(false); } if (mInstance.mCurrentProvider == provider || mInstance.mCurrentProvider?.ProviderId == provider?.ProviderId) { return(true); } if (mInstance.mAuthProviders != null) { if (mInstance.mAuthProviders.IndexOf(provider) >= 0) { if (mInstance.mCurrentProvider != null) { mInstance.mCurrentProvider.Dispose(); } mInstance.mCurrentProvider = provider; return(true); } else { var added_provider = GetAuthProvider(provider.ProviderId); if (added_provider != null) { if (mInstance.mCurrentProvider != null) { mInstance.mCurrentProvider.Dispose(); } mInstance.mCurrentProvider = added_provider; return(true); } } } return(false); }
/// <summary> /// Clear all auth data an authorize using specified <c>AuthProvider</c>. /// </summary> public void ClearAuthDataAndSetCurrentProvider(AuthProvider provider) { PlayerPrefs.DeleteKey(SnipePrefs.LOGIN_USER_ID); foreach (BindProvider bind_provider in mAuthProviders) { if (bind_provider != null) { bind_provider.IsBindDone = false; } } SetCurrentProvider(provider); }
private void OnCurrentProviderAuthSuccess(int user_id, string login_token) { UserID = user_id; LoginToken = login_token; InvokeAuthSuccessCallback(); ResetCheckLoginTokenExpiryCoroutine(); mCurrentProvider?.Dispose(); mCurrentProvider = null; BindAllProviders(mRebindAllProviders); mRebindAllProviders = false; }
public void Authorize <ProviderType>(AuthResultCallback callback = null) where ProviderType : AuthProvider { mCurrentProvider = GetAuthProvider <ProviderType>(); if (mCurrentProvider == null) { DebugLogger.Log("[SnipeAuthCommunicator] Authorize<ProviderType> - provider not found"); callback?.Invoke(SnipeErrorCodes.NOT_INITIALIZED, 0); return; } AuthorizeWithCurrentProvider(callback); }
public void Authorize(bool reset, AuthResultCallback callback = null) { if (reset) // forget previous provider and start again from the beginning { AuthProvider prev_provider = mCurrentProvider; mCurrentProvider = null; SwitchToNextAuthProvider(); if (prev_provider != mCurrentProvider) { prev_provider.Dispose(); } } Authorize(callback); }
public static void Authorize(bool reset, Action succeess_callback, Action fail_callback = null) { if (reset && mInstance != null) // forget previous provider and start again from the beginning { ClearLoginToken(); AuthProvider prev_provider = mInstance.mCurrentProvider; mInstance.mCurrentProvider = null; mInstance.SwitchToNextAuthProvider(); if (prev_provider != mInstance.mCurrentProvider) { prev_provider.Dispose(); } } Authorize(succeess_callback, fail_callback); }
private void OnCurrentProviderAuthResult(string error_code, int user_id = 0) { if (user_id != 0) { UserID = user_id; InvokeAuthSuccessCallback(user_id); mCurrentProvider?.Dispose(); mCurrentProvider = null; BindAllProviders(mRebindAllProviders); mRebindAllProviders = false; } else { DebugLogger.Log("[SnipeAuthCommunicator] OnCurrentProviderAuthFail (" + (mCurrentProvider != null ? mCurrentProvider.ProviderId : "null") + ") error_code: " + error_code); mRebindAllProviders = false; if (mCurrentProvider is DefaultAuthProvider) { if (error_code == SnipeErrorCodes.NOT_INITIALIZED || error_code == SnipeErrorCodes.NO_SUCH_USER) { RequestRegister(); } else { InvokeAuthFailCallback(error_code); } } else // try next provider { if (mCurrentProvider != null) { mCurrentProvider.Dispose(); } SwitchToNextAuthProvider(); CurrentProviderRequestAuth(); } } }
/// <summary> /// Clear all auth data an authorize using specified <c>AuthProvider</c>. /// </summary> public static void ClearAuthDataAndSetCurrentProvider(AuthProvider provider) { PlayerPrefs.DeleteKey(SnipePrefs.LOGIN_USER_ID); SnipeAuthCommunicator.ClearLoginToken(); SnipeAuthCommunicator.SetCurrentProvider(provider); }