Python 之 cas-clinet
因为要搞一个用户登录安全的验证,要用到cas服务,所以在网上搜了很多关于cas信息才搞成功。
我写的属于客户端的cas就是从CAS服务,获取返回的ticket验证通过,用户登录成功。
使用的是web.py。
首先:
pip install cas_client
代码例子:
from cas_client import CASClient app_login_url = 'http://www.my-app.com/login' # 请求的网址 cas_url = 'http://cas.my-app.com' #重定向到cas验证的网址 cas_client = CASClient(cas_url, auth_prefix='') #实例化cas_client对象 data = web.input() #web的获取请求数据 ticket = data.get('ticket') if ticket: try: cas_response = cas_client.perform_service_validate( ticket=ticket, service_url=app_login_url, ) #验证ticket usernmae = cas_response.user # 此处可以获取返回的用户名信息,以便使用用户名做一些处理 except: # CAS server is currently broken, try again later. return redirect(cas_url) if cas_response and cas_response.success: # 验证通过 session['logged-in'] = True return web.seeother("/") # 跳转到你登陆成功后的主页面 del(session['logged-in']) cas_login_url = cas_client.get_login_url(service_url=app_login_url) raise web.seeother(cas_login_url)