Esempio n. 1
0
            def welcome(realm,
                        authid=None,
                        authrole=None,
                        authmethod=None,
                        authprovider=None):
                self._session_id = self._pending_session_id
                self._pending_session_id = None
                self._goodbye_sent = False

                self._router = self._router_factory.get(realm)
                if not self._router:
                    raise Exception("no such realm")

                self._authid = authid
                self._authrole = authrole
                self._authmethod = authmethod
                self._authprovider = authprovider

                roles = self._router.attach(self)

                msg = message.Welcome(self._session_id,
                                      roles,
                                      authid=authid,
                                      authrole=authrole,
                                      authmethod=authmethod,
                                      authprovider=authprovider)
                self._transport.send(msg)

                self.onJoin(
                    SessionDetails(self._realm, self._session_id, self._authid,
                                   self._authrole, self._authmethod,
                                   self._authprovider))
Esempio n. 2
0
 def create_mock_welcome():
     return message.Welcome(
         1234,
         {
             'broker': role.RoleBrokerFeatures(),
         },
     )
Esempio n. 3
0
            def welcome(realm, authid=None, authrole=None, authmethod=None, authprovider=None, authextra=None, custom=None):
                self._realm = realm
                self._session_id = self._pending_session_id
                self._pending_session_id = None
                self._goodbye_sent = False

                self._router = self._router_factory.get(realm)
                if not self._router:
                    # should not arrive here
                    raise Exception("logic error (no realm at a stage were we should have one)")

                self._authid = authid
                self._authrole = authrole
                self._authmethod = authmethod
                self._authprovider = authprovider

                roles = self._router.attach(self)

                msg = message.Welcome(self._session_id,
                                      roles,
                                      realm=realm,
                                      authid=authid,
                                      authrole=authrole,
                                      authmethod=authmethod,
                                      authprovider=authprovider,
                                      authextra=authextra,
                                      custom=custom)
                self._transport.send(msg)

                self.onJoin(SessionDetails(self._realm, self._session_id, self._authid, self._authrole, self._authmethod, self._authprovider, self._authextra))
Esempio n. 4
0
 def _on_backend_joined(session, details):
     msg = message.Welcome(self._session_id,
                           ProxyFrontendSession.ROLES,
                           realm=details.realm,
                           authid=details.authid,
                           authrole=details.authrole,
                           authmethod=auth_result.authmethod,
                           authprovider=auth_result.authprovider,
                           authextra=dict(details.authextra or {}, **self._custom_authextra))
     self._backend_session = session
     self.transport.send(msg)
     self.log.info('Proxy frontend session WELCOME: session_id={session_id}, session={session}, msg={msg}',
                   session_id=hlid(self._session_id), session=self, msg=msg)
Esempio n. 5
0
 def _on_backend_joined(session, details):
     # we now got everything! the frontend is authenticated, and a backend session is associated.
     msg = message.Welcome(self._session_id,
                           ProxyFrontendSession.ROLES,
                           realm=details.realm,
                           authid=details.authid,
                           authrole=details.authrole,
                           authmethod=hello_result.authmethod,
                           authprovider=hello_result.authprovider,
                           authextra=dict(details.authextra or {}, **self._custom_authextra))
     self._backend_session = session
     self.transport.send(msg)
     self.log.info('Proxy frontend session WELCOME: session_id={session}, session={session}, session_details={details}',
                   session_id=hlid(self._session_id), session=self, details=details)
Esempio n. 6
0
    def __init__(self, handler):
        self._log = False
        self._handler = handler
        self._serializer = serializer.JsonSerializer()
        self._registrations = {}
        self._invocations = {}
        self._subscription_topics = {}
        self._my_session_id = util.id()

        self._handler.onOpen(self)

        roles = {u'broker': role.RoleBrokerFeatures(), u'dealer': role.RoleDealerFeatures()}

        msg = message.Welcome(self._my_session_id, roles)
        self._handler.onMessage(msg)
        def __init__(self, handler):
            self._log = False
            self._handler = handler
            self._serializer = serializer.JsonSerializer()
            self._registrations = {}
            self._invocations = {}
            #: str -> ID
            self._subscription_topics = {}

            self._handler.onOpen(self)

            self._my_session_id = util.id()

            roles = {'broker': role.RoleBrokerFeatures(), 'dealer': role.RoleDealerFeatures()}

            msg = message.Welcome(self._my_session_id, roles)
            self._handler.onMessage(msg)
            self._fake_router_session = ApplicationSession()

            self._transport_details = TransportDetails()