コード例 #1
0
        public async Task <TokenDto> Login(AuthorizationCredentials authorizationCredentials)
        {
            var existingToken = _fileConfigManager.GetFromFile <TokenDto>(ConfigFiles.Token);

            if (existingToken == null)
            {
                var newToken = await _client.Authorize(authorizationCredentials);

                _fileConfigManager.WriteData(newToken.ToPersistenceToken(), ConfigFiles.Token);
                return(newToken);
            }

            if (!existingToken.Expired)
            {
                return(existingToken);
            }

            var refreshedToken = await _client.AuthorizeAsync(new RefreshTokenRequest
            {
                AuthorizationCredentials = authorizationCredentials,
                RefreshToken             = existingToken.Token.RefreshToken
            });

            _fileConfigManager.WriteData(refreshedToken.ToPersistenceToken(), ConfigFiles.Token);

            return(refreshedToken);
        }
コード例 #2
0
 public RepositoryGroup GetGroup(string groupName)
 {
     return(_fileConfigManager.GetFromFile <RepositoryGroup>(groupName, ConfigPaths.RepositoryGroups));
 }