public IActionResult GetUserInfo(string accessToken)
        {
            var tokenDto = TokensRepository.Get(accessToken);

            if (tokenDto == null)
            {
                throw new Exception("Invalid token");
            }

            IBankApi bankApi;

            switch (tokenDto.BankId)
            {
            case BankEnum.Seb:
                bankApi = new SebApi();
                break;

            case BankEnum.MobileSign:
                bankApi = new IsignMobileApi();
                break;

            default:
                throw new Exception("Bank not supported");
            }

            var userInfo = bankApi.GetUserInfo(tokenDto);

            return(Ok(userInfo));
        }
        public IActionResult GetRedirectFromBank(BankEnum bankId, string userId)
        {
            IBankApi bankApi;

            switch (bankId)
            {
            case BankEnum.Seb:
                //should differ from swed
                bankApi = new SebApi();
                break;

            case BankEnum.MobileSign:
                bankApi = new IsignMobileApi();
                break;

            default:
                throw new Exception("Bank not supported");
            }

            var tokenDto = bankApi.GetAuthorized(userId);

            TokensRepository.Add(tokenDto);

            return(Redirect($"http://localhost:3000/link?token={tokenDto.Token}"));
        }
Esempio n. 3
0
        public static int getUserFromToken(HttpRequestMessage re)
        {
            var headers = re.Headers;
            int user    = -1;

            if (headers.Contains("Authorization") &&
                headers.GetValues("Authorization").First().StartsWith("Bearer "))
            {
                user = TokensRepository.getUsuarioByToken(headers.GetValues("Authorization").First().Substring("Bearer ".Length));
            }
            return(user);
        }
Esempio n. 4
0
        // GET: api/Login/5
        public Object GetByUserNamePassword(string userName, string password)
        {
            UsuariosRepository rep = new UsuariosRepository();
            Usuario            u   = rep.GetByUserNamePassword(userName, password);

            if (u == null)
            {
                return(new {
                    error = "Usuario o contraseña incorrecta",
                });
            }
            else
            {
                return(new {
                    token = TokensRepository.insertarToken(u.Id),
                });
            }
        }
Esempio n. 5
0
        public UserDto GetUserInfo(AccessTokenDto token)
        {
            var tokenDto = TokensRepository.Get(token.Token);

            return(tokenDto.User);
        }