def openid2_get_redirect(request, provider, callback, scope, mode): xrds = urllib.urlopen(providers[provider]["xrds"]) if xrds.getcode() != 200: raise Exception("OpenID Failed: Invalid response from " + providers[provider]["displayname"] + " on obtaining a XRDS information: " + xrds.read()) xrds = xrds.read() from openid.consumer.consumer import Consumer from openid.consumer.discover import OpenIDServiceEndpoint from openid.store.memstore import MemoryStore service = OpenIDServiceEndpoint.fromXRDS(providers[provider]["xrds"], xrds)[0] consumer = Consumer(request.session, MemoryStore()) auth = consumer.beginWithoutDiscovery(service) if "extensions" in providers[provider]: for ext, d in providers[provider]["extensions"].iteritems(): for k, v in d.iteritems(): auth.addExtensionArg(ext, k, v) if mode == "compact": # works with Google auth.addExtensionArg("http://specs.openid.net/extensions/ui/1.0", "mode", "popup") return auth.redirectURL(realm=SITE_ROOT_URL, return_to=callback)
def openid2_get_redirect(request, provider, callback, scope, mode): xrds = urllib.request.urlopen(providers[provider]["xrds"]) if xrds.getcode() != 200: raise Exception("OpenID Failed: Invalid response from " + providers[provider]["displayname"] + " on obtaining a XRDS information: " + xrds.read()) xrds = xrds.read() from openid.consumer.consumer import Consumer from openid.consumer.discover import OpenIDServiceEndpoint service = OpenIDServiceEndpoint.fromXRDS(providers[provider]["xrds"], xrds)[0] consumer = Consumer(request.session, openid_store) auth = consumer.beginWithoutDiscovery(service) if "extensions" in providers[provider]: for ext, d in providers[provider]["extensions"].items(): for k, v in d.items(): auth.addExtensionArg(ext, k, v) if mode == "compact": # works with Google auth.addExtensionArg("http://specs.openid.net/extensions/ui/1.0", "mode", "popup") return auth.redirectURL(realm=settings.SITE_ROOT_URL, return_to=callback)
def create_service(): endpoint_type = 'production' if mojeid_settings.MOJEID_INSTANCE_PRODUCTION \ else 'testing' defs = mojeid_services[endpoint_type] return OpenIDServiceEndpoint.fromXRDS(defs['url'], defs['xrds'])[0]
def create_service(): endpoint_type = 'production' if mojeid_settings.MOJEID_INSTANCE_PRODUCTION \ else 'testing' defs = mojeid_services[endpoint_type] return OpenIDServiceEndpoint.fromXRDS(defs['url'], defs['xrds'])[0]