Ejemplo n.º 1
0
    async def fetch_user_info(self, access_token) -> _OauthUserInfo:
        user = await self.oauth2_request(
            _OAUTH_GITLAB_USERINFO % self.gitlab_host, access_token)
        if user is None:
            return None

        active = user.get('state') == 'active'
        return _OauthUserInfo(user.get('email'), active, user)
Ejemplo n.º 2
0
    def test_fetch_user_info_when_not_active(self, mock_request):
        response = {'email': '*****@*****.**', 'state': 'something'}
        mock_request.return_value = response

        authenticator = GitlabOAuthAuthenticator(create_config())

        user_info = yield authenticator.fetch_user_info('my_token_2')
        self.assertEqual(_OauthUserInfo('*****@*****.**', False, response),
                         user_info)
Ejemplo n.º 3
0
    async def fetch_user_info(self, access_token) -> _OauthUserInfo:
        oauth_mixin = tornado.auth.GoogleOAuth2Mixin()
        user_future = oauth_mixin.oauth2_request(
            tornado.auth.GoogleOAuth2Mixin._OAUTH_USERINFO_URL,
            access_token=access_token)
        user_response = await user_future
        if not user_response:
            return None

        return _OauthUserInfo(user_response.get('email'), True, user_response)
Ejemplo n.º 4
0
    async def fetch_user_info(self, access_token: str) -> _OauthUserInfo:
        if access_token not in self.user_tokens:
            return None

        user = self.user_tokens[access_token]

        enabled = user not in self.disabled_users
        return _OauthUserInfo(user, enabled, {
            'username': user,
            'access_token': access_token
        })
Ejemplo n.º 5
0
    def test_fetch_user_info(self, mock_request):
        response = {'email': '*****@*****.**', 'state': 'active'}
        mock_request.return_value = response

        authenticator = GitlabOAuthAuthenticator(
            create_config(url='https://my.gitlab.host'))

        user_info = yield authenticator.fetch_user_info('my_token_2')
        self.assertEqual(_OauthUserInfo('*****@*****.**', True, response),
                         user_info)

        mock_request.assert_called_with('https://my.gitlab.host/api/v4/user',
                                        'my_token_2')
Ejemplo n.º 6
0
 async def custom_fetch_user_info(access_token):
     return _OauthUserInfo(None, True, {})