private void SwitchToDefaultAuthProvider() { if (mCurrentProvider != null && !(mCurrentProvider is DefaultAuthProvider)) { mCurrentProvider.Dispose(); mCurrentProvider = null; } if (mCurrentProvider == null) { mCurrentProvider = new DefaultAuthProvider(); } }
public bool SetCurrentProvider(AuthProvider provider) { DebugLogger.Log($"[SnipeAuthCommunicator] SetCurrentProvider - {provider?.ProviderId}"); if (provider == null) { if (mCurrentProvider != null) { mCurrentProvider.Dispose(); mCurrentProvider = null; } return(false); } if (mCurrentProvider == provider || mCurrentProvider?.ProviderId == provider?.ProviderId) { return(true); } if (mAuthProviders != null) { if (mAuthProviders.IndexOf(provider) >= 0) { if (mCurrentProvider != null) { mCurrentProvider.Dispose(); } mCurrentProvider = provider; return(true); } else { var added_provider = GetAuthProvider(provider.ProviderId); if (added_provider != null) { if (mCurrentProvider != null) { mCurrentProvider.Dispose(); } mCurrentProvider = added_provider; return(true); } } } return(false); }
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; }
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(); } } }
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); }