コード例 #1
0
ファイル: test_auth.py プロジェクト: sand8080/helixauth
 def test_create_restore_password_session(self, curs=None):
     a = Authenticator()
     self.create_actor_env()
     env = self.get_environment_by_name(self.actor_env_name)
     user = self.get_subj_user(env.id, self.actor_login)
     req_info = RequestInfo()
     sess = a.create_restore_password_session(curs, env, user,
         req_info, bind_to_ip=False, lifetime_minutes=None)
     sess_data = json.loads(sess.serialized_data)
     rights = sess_data['rights']
     self.assertEquals({Service.TYPE_AUTH: ['set_password_self']},
         rights)
コード例 #2
0
ファイル: handler.py プロジェクト: sand8080/helixauth
    def restore_password(self, data, req_info, curs=None):
        env_name = data.get('environment_name')
        env_f = EnvironmentFilter({'name': env_name}, {}, None)
        env = env_f.filter_one_obj(curs)

        # For correct action logging
        data['environment_id'] = env.id

        user_f = SubjectUserFilter(env.id, {'email': data.get('email')}, {}, None)
        user = user_f.filter_one_obj(curs)

        # creating user session
        auth = Authenticator()
        session = auth.create_restore_password_session(curs, env, user, req_info,
            lifetime_minutes=settings.session_restore_password_lifetime_minutes)
        _add_log_info(data, session)

        n = Notifier()
        n_process = n.restore_password(curs, user, session)
        return response_ok(notification=n_process)