예제 #1
0
    def do_signup(self, full_id, password):
        log.msg('SIGNUP for %s' % full_id)
        _, provider_id = config.get_username_and_provider(full_id)

        provider = config.Provider(provider_id)
        d = provider.callWhenReady(self._do_signup, provider, full_id,
                                   password)
        return d
예제 #2
0
    def do_signup(self, full_id, password, invite=None, autoconf=False):
        logger.debug('SIGNUP for %s' % full_id)
        _, provider_id = config.get_username_and_provider(full_id)

        provider = config.Provider(provider_id, autoconf=autoconf)
        d = provider.callWhenReady(
            self._do_signup, provider, full_id, password, invite)
        return d
예제 #3
0
    def _get_session(self, provider, full_id, password=""):
        if full_id in self._sessions:
            return self._sessions[full_id]

        # TODO if password/username null, then pass AnonymousCreds
        username, provider_id = config.get_username_and_provider(full_id)
        credentials = UsernamePassword(username, password)
        api = self._get_api(provider)
        provider_pem = _get_provider_ca_path(provider_id)
        session = Session(credentials, api, provider_pem)
        self._sessions[full_id] = session
        return session
예제 #4
0
    def _do_signup(self, provider, full_id, password, invite):

        # XXX check it's unauthenticated
        def return_user(result):
            return_code, user = result
            if return_code == OK:
                return user

        username, _ = config.get_username_and_provider(full_id)
        session = self._get_session(provider, full_id, password)
        d = session.signup(username, password, invite)
        d.addCallback(return_user)
        d.addErrback(self._del_session_errback, full_id)
        return d
예제 #5
0
 def _get_or_create_session(self, provider, full_id, password=""):
     if full_id in self._sessions:
         return self._sessions[full_id]
     if full_id == ANONYMOUS:
         credentials = Anonymous()
         provider_id = provider.domain
     else:
         username, provider_id = config.get_username_and_provider(full_id)
         credentials = UsernamePassword(username, password)
     api = self._get_api(provider)
     provider_pem = config.get_ca_cert_path(_preffix, provider_id)
     session = Session(credentials, api, provider_pem)
     self._sessions[full_id] = session
     return session
예제 #6
0
    def do_authenticate(self, full_id, password, autoconf=False):
        _, provider_id = config.get_username_and_provider(full_id)

        provider = config.Provider(provider_id, autoconf=autoconf)

        def maybe_finish_provider_bootstrap(result, provider):
            session = self._get_session(provider, full_id, password)
            d = provider.download_services_config_with_auth(session)
            d.addCallback(lambda _: result)
            return d

        d = provider.callWhenReady(
            self._do_authenticate, provider, full_id, password)
        d.addCallback(maybe_finish_provider_bootstrap, provider)
        return d
예제 #7
0
def _get_provider_from_full_userid(userid):
    _, provider_id = config.get_username_and_provider(userid)
    return config.Provider(provider_id)
예제 #8
0
def _get_provider_from_full_userid(userid):
    _, provider_id = config.get_username_and_provider(userid)
    # TODO -- this autoconf should be passed from the
    # command flag. workaround to get cli workinf for now.
    return config.Provider.get(provider_id, autoconf=True)