def run_auth_server(): try: client_store = ClientStore() client_store.add_client(client_id="abc", client_secret="xyz", redirect_uris=[]) token_store = TokenStore() provider = Provider( access_token_store=token_store, auth_code_store=token_store, client_store=client_store, token_generator=Uuid4()) provider.add_grant( ResourceOwnerGrant(site_adapter=TestSiteAdapter()) ) app = Application(provider=provider) httpd = make_server('', 8080, app) print("Starting OAuth2 server on http://localhost:8080/...") httpd.serve_forever() except KeyboardInterrupt: httpd.server_close()
def main(): client = MongoClient() db = client.testdb access_token_store = AccessTokenStore(collection=db["access_tokens"]) auth_code_store = AuthCodeStore(collection=db["auth_codes"]) client_store = ClientStore(collection=db["clients"]) provider = Provider(access_token_store=access_token_store, auth_code_store=auth_code_store, client_store=client_store, site_adapter=TestSiteAdapter(), token_generator=Uuid4()) provider.add_grant(AuthorizationCodeGrant()) provider.add_grant(ImplicitGrant()) provider.add_grant(ResourceOwnerGrant()) provider.add_grant(ClientCredentialsGrant()) provider.add_grant(RefreshToken(expires_in=600)) provider.enable_unique_tokens() app = Wsgi(server=provider) try: httpd = make_server('', 8888, app) print("Starting test auth server on port 8888...") httpd.serve_forever() except KeyboardInterrupt: httpd.server_close()
def test_add_grant_set_expire_time(self): """ Provider.add_grant() should set the expiration time on the instance of TokenGenerator """ self.auth_server.add_grant(AuthorizationCodeGrant(expires_in=400)) self.auth_server.add_grant(ResourceOwnerGrant(expires_in=500)) self.auth_server.add_grant(RefreshToken(expires_in=1200)) self.assertEqual(self.token_generator_mock.expires_in[AuthorizationCodeGrant.grant_type], 400) self.assertEqual(self.token_generator_mock.expires_in[ResourceOwnerGrant.grant_type], 500) self.assertEqual(self.token_generator_mock.refresh_expires_in, 1200)
def make_application(token_store, client_store, token_gen): provider = Provider( access_token_store=token_store, auth_code_store=token_store, client_store=client_store, token_generator=token_gen) provider.add_grant( ResourceOwnerGrant( expires_in=3600, site_adapter=TestSiteAdapter()) ) return Application(provider=provider)
def main(): parser = argparse.ArgumentParser(description="python-oauth2 test provider") parser.add_argument("--store", dest="store", type=str, default="mongodb", help="The store adapter to use. Can one of 'mongodb'"\ "(default), 'mysql'") args = parser.parse_args() if args.store == "mongodb": print("Using mongodb stores...") client = MongoClient() db = client.testdb access_token_store = AccessTokenStore(collection=db["access_tokens"]) auth_code_store = AuthCodeStore(collection=db["auth_codes"]) client_store = ClientStore(collection=db["clients"]) elif args.store == "mysql": print("Using mysql stores...") connection = mysql.connector.connect(host="127.0.0.1", user="******", passwd="", db="testdb") access_token_store = MysqlAccessTokenStore(connection=connection) auth_code_store = MysqlAuthCodeStore(connection=connection) client_store = MysqlClientStore(connection=connection) else: raise Exception("Unknown store") provider = Provider(access_token_store=access_token_store, auth_code_store=auth_code_store, client_store=client_store, site_adapter=TestSiteAdapter(), token_generator=Uuid4()) provider.add_grant(AuthorizationCodeGrant(expires_in=120)) provider.add_grant(ImplicitGrant()) provider.add_grant(ResourceOwnerGrant()) provider.add_grant(ClientCredentialsGrant()) provider.add_grant(RefreshToken(expires_in=60)) app = Wsgi(server=provider) try: httpd = make_server('', 8888, app) print("Starting test auth server on port 8888...") httpd.serve_forever() except KeyboardInterrupt: httpd.server_close()
def main(): token_store = AccessTokenStore() provider = Provider(access_token_store=token_store, auth_code_store=token_store, client_store=AuthUserStore(), token_generator=Uuid4()) provider.add_grant( ResourceOwnerGrant(site_adapter=AuthSiteAdapter(), unique_token=True, expires_in=ACCESS_TOKEN_REDIS_TTL)) provider.add_grant(RefreshToken(expires_in=REFRESH_TOKEN_REDIS_TTL)) app = Application(handlers=[ url(provider.token_path, OAuth2Handler, dict(provider=provider)), url('/validate-token', AuthValidationHandler) ], template_path=TEMPLATE_PATH, static_path=STATIC_PATH, cookie_secret=COOKIE_SECRET) print 'Starting OAuth Server on port %d' % options.port server = HTTPServer(app) server.listen(options.port) IOLoop.current().start()
def __init__(self, request): super(UserAuthController, self).__init__(request, OAuth2SiteAdapter()) self.add_grant(ResourceOwnerGrant(unique_token=True))