예제 #1
0
    def callback(self):
        session = ndb.Key(urlsafe=self.request.params['state']).get()

        credentials = session.flow.step2_exchange(self.request.params['code'])

        OAuth2UserCredentials.create(user=self.user,
                                     scopes=session.scopes,
                                     credentials=credentials,
                                     admin=session.admin)

        session.key.delete()  # No need for the session any longer

        return self.redirect(str(session.redirect))
예제 #2
0
    def callback(self):
        session = ndb.Key(urlsafe=self.request.params['state']).get()

        credentials = session.flow.step2_exchange(self.request.params['code'])

        OAuth2UserCredentials.create(
            user=self.user,
            scopes=session.scopes,
            credentials=credentials,
            admin=session.admin
        )

        session.key.delete()  # No need for the session any longer

        return self.redirect(str(session.redirect))
예제 #3
0
    def test_credential_storage(self):
        user1 = users.User("*****@*****.**")
        user2 = users.User("*****@*****.**")

        assert UserCredentials.query().count() == 0

        UserCredentials.create(user=user1,
                               scopes=['a', 'c', 'b'],
                               credentials=None,
                               admin=False)

        UserCredentials.create(user=user2,
                               scopes=['e', 'f', 'g'],
                               credentials=None,
                               admin=True)

        assert UserCredentials.query().count() == 2
        assert find_credentials(user=user1, scopes=[
            'a', 'b', 'c'
        ]), "Should find out of order scopes credentials"
        assert find_credentials(user=user1,
                                scopes=['a', 'c',
                                        'b']), "Should find credentials"
        assert not find_credentials(user=user1, scopes=[
            'a', 'b', 'd'
        ]), "Should not find credentials when scopes don't match"
        assert not find_credentials(
            user=user1, scopes=['a', 'b', 'c'],
            admin=True), "Should not find credentials that aren't admin"

        UserCredentials.create(user=user1,
                               scopes=['a', 'c', 'b'],
                               credentials=None,
                               admin=False)

        assert UserCredentials.query().count(
        ) == 2, "Should overwrite existing credentials"

        assert find_credentials(scopes=['e', 'g', 'f'],
                                admin=True), "Should find admin scopes"
    def test_credential_storage(self):
        user1 = users.User("*****@*****.**")
        user2 = users.User("*****@*****.**")

        assert UserCredentials.query().count() == 0

        UserCredentials.create(
            user=user1,
            scopes=['a', 'c', 'b'],
            credentials=None,
            admin=False
        )

        UserCredentials.create(
            user=user2,
            scopes=['e', 'f', 'g'],
            credentials=None,
            admin=True
        )

        assert UserCredentials.query().count() == 2
        assert find_credentials(user=user1, scopes=['a', 'b', 'c']), "Should find out of order scopes credentials"
        assert find_credentials(user=user1, scopes=['a', 'c', 'b']), "Should find credentials"
        assert not find_credentials(user=user1, scopes=['a', 'b', 'd']), "Should not find credentials when scopes don't match"
        assert not find_credentials(user=user1, scopes=['a', 'b', 'c'], admin=True), "Should not find credentials that aren't admin"

        UserCredentials.create(
            user=user1,
            scopes=['a', 'c', 'b'],
            credentials=None,
            admin=False
        )

        assert UserCredentials.query().count() == 2, "Should overwrite existing credentials"

        assert find_credentials(scopes=['e', 'g', 'f'], admin=True), "Should find admin scopes"