Microsoft.Research.DataOnboarding.Services.UserService.UserServiceProvider.GetAuthTokenStatus C# (CSharp) Méthode

GetAuthTokenStatus() public méthode

Returns if the redirection required or not by checking the AuthTokens in the database
public GetAuthTokenStatus ( int userId, int repositoryId ) : UserAuthTokenStatusModel
userId int User Id
repositoryId int Repository Id
Résultat Microsoft.Research.DataOnboarding.Utilities.Model.UserAuthTokenStatusModel
        public UserAuthTokenStatusModel GetAuthTokenStatus(int userId, int repositoryId)
        {
            UserAuthTokenStatusModel authTokenStatus = new UserAuthTokenStatusModel();
            Repository repository = this.repositoryDetails.GetRepositoryById(repositoryId);
            
            if (string.Compare(repository.BaseRepository.Name, BaseRepositoryEnum.SkyDrive.ToString(), StringComparison.InvariantCultureIgnoreCase) != 0)
            {
                authTokenStatus.RedirectionRequired = false;
                return authTokenStatus;
            }
            else if ((bool)repository.IsImpersonating)
            {
                authTokenStatus.RedirectionRequired = false;
                return authTokenStatus;
            }
            else
            {
                AuthToken authToken = this.GetUserAuthToken(userId, repositoryId);

                if (authToken == null)
                {
                    authTokenStatus.RedirectionRequired = true;
                }
                else if (string.IsNullOrEmpty(authToken.AccessToken) && string.IsNullOrEmpty(authToken.RefreshToken))
                {
                    authTokenStatus.RedirectionRequired = true;
                }
                else if (string.IsNullOrEmpty(authToken.RefreshToken) && authToken.TokenExpiresOn <= DateTime.UtcNow.AddMinutes(1))
                {
                    authTokenStatus.RedirectionRequired = true;
                }
            }
           
            return authTokenStatus;
        }