コード例 #1
0
      def authenticate(realm, authid, details):
         print("WAMP-Ticket dynamic authenticator invoked: realm='{}', authid='{}', details=".format(realm, authid))
         pprint_json(details)

         if authid in PRINCIPALS_DB:
            ticket = details['ticket']
            principal = PRINCIPALS_DB[authid]

            if ticket != principal['ticket']:
               raise ApplicationError(u'com.example.invalid_ticket', "could not authenticate session - invalid ticket '{}' for principal {}".format(ticket, authid))

            if realm and realm != principal[u'realm']:
               raise ApplicationError(u'com.example_invalid_realm', "user {} should join {}, not {}".format(authid, principal[u'realm'], realm))

            res = {
               u'realm': principal[u'realm'],
               u'role': principal[u'role'],
               u'extra': {
                  u'my-custom-welcome-data': [1, 2, 3]
               }
            }
            print("WAMP-Ticket authentication success: {}".format(res))
            return res
         else:
            raise ApplicationError("com.example.no_such_user", "could not authenticate session - no such principal {}".format(authid))
コード例 #2
0
      def authenticate(realm, authid, details):
         print("WAMP-CRA dynamic authenticator invoked: realm='{}', authid='{}'".format(realm, authid))
         pprint_json(details)

         if authid in USERDB:
            # return a dictionary with authentication information ...
            return USERDB[authid]
         else:
            raise ApplicationError(u'com.example.no_such_user', 'could not authenticate session - no such user {}'.format(authid))
コード例 #3
0
      def authenticate(realm, authid, details):
         ticket = details['ticket']
         print("WAMP-Ticket dynamic authenticator invoked: realm='{}', authid='{}', ticket='{}'".format(realm, authid, ticket))
         pprint_json(details)

         if authid in PRINCIPALS_DB:
            if ticket == PRINCIPALS_DB[authid]['ticket']:
               return PRINCIPALS_DB[authid]['role']
            else:
               raise ApplicationError("com.example.invalid_ticket", "could not authenticate session - invalid ticket '{}' for principal {}".format(ticket, authid))
         else:
            raise ApplicationError("com.example.no_such_user", "could not authenticate session - no such principal {}".format(authid))
コード例 #4
0
      def authenticate(realm, authid, details):
         ticket = details['ticket']
         print("WAMP-Ticket dynamic authenticator invoked: realm='{}', authid='{}', ticket='{}'".format(realm, authid, ticket))
         pprint_json(details)

         if authid in PRINCIPALS_DB:
            secret = PRINCIPALS_DB[authid][u'seed']
            if check_totp(secret, ticket):
               return PRINCIPALS_DB[authid][u'role']
            else:
               raise ApplicationError(u'com.example.invalid_ticket', u'could not authenticate session - invalid ticket "{}" for principal {}'.format(ticket, authid))
         else:
            raise ApplicationError(u'com.example.no_such_user', u'could not authenticate session - no such principal {}'.format(authid))
コード例 #5
0
        def authenticate(realm, authid, details):
            print(
                "WAMP-CRA dynamic authenticator invoked: realm='{}', authid='{}'"
                .format(realm, authid))
            pprint_json(details)

            if authid in USERDB:
                # return a dictionary with authentication information ...
                return USERDB[authid]
            else:
                raise ApplicationError(
                    u'com.example.no_such_user',
                    'could not authenticate session - no such user {}'.format(
                        authid))
コード例 #6
0
        def authenticate(realm, authid, details):
            ticket = details['ticket']
            print(
                "WAMP-Ticket dynamic authenticator invoked: realm='{}', authid='{}', ticket='{}'"
                .format(realm, authid, ticket))
            pprint_json(details)

            if authid in PRINCIPALS_DB:
                if ticket == PRINCIPALS_DB[authid]['ticket']:
                    return PRINCIPALS_DB[authid]['role']
                else:
                    raise ApplicationError(
                        "com.example.invalid_ticket",
                        "could not authenticate session - invalid ticket '{}' for principal {}"
                        .format(ticket, authid))
            else:
                raise ApplicationError(
                    "com.example.no_such_user",
                    "could not authenticate session - no such principal {}".
                    format(authid))
コード例 #7
0
        def authenticate(realm, authid, details):
            print(
                "WAMP-Ticket dynamic authenticator invoked: realm='{}', authid='{}', details="
                .format(realm, authid))
            pprint_json(details)

            if authid in PRINCIPALS_DB:
                ticket = details['ticket']
                principal = PRINCIPALS_DB[authid]

                if ticket != principal['ticket']:
                    raise ApplicationError(
                        u'com.example.invalid_ticket',
                        "could not authenticate session - invalid ticket '{}' for principal {}"
                        .format(ticket, authid))

                if realm and realm != principal[u'realm']:
                    raise ApplicationError(
                        u'com.example_invalid_realm',
                        "user {} should join {}, not {}".format(
                            authid, principal[u'realm'], realm))

                res = {
                    u'realm': principal[u'realm'],
                    u'role': principal[u'role'],
                    u'extra': {
                        u'my-custom-welcome-data': [1, 2, 3]
                    }
                }
                print("WAMP-Ticket authentication success: {}".format(res))
                return res
            else:
                raise ApplicationError(
                    "com.example.no_such_user",
                    "could not authenticate session - no such principal {}".
                    format(authid))