作者:刘宾, thomas_liub@hotmail.com
请尊重作者著作权,转载请注明出处,谢谢!
Gateway Flow
-
第一次登陆
access_resty.authenticate(opts)
openidc.authenticate(opts)
session = session.start()
openidc.openidc_authorize(opts,session)
session.start(session)
session.data.original_url = target_url
session.data.state = state
session.data.nonce = nonce
session.save(session) -
授权码校验
access_resty.authenticate(opts)
openidc.authenticate(opts)
session = session.start()
openidc.openidc_authorization_response(opts, session)
session.start(session)
session.data.user = user
session.data.id_token = id_token
session.data.enc_id_token = json.id_token
session.data.access_token = json.access_token
session.save(session) -
后续访问
access_resty.authenticate(opts)
openidc.authenticate(opts)
session = session.start()
openidc.openidc_call_userinfo_endpoint(opts, session)
4.登出
access_resty.authenticate(opts)
openidc.authenticate(opts)
session = session.start()
openidc.openidc_logout(opts, session)
- 会话start
session.start(opts)
如存在,直接返回
session.open(opts)
如存在,直接返回
session.new()
如存在,直接返回
初始化新的session
设置session metatable
self.opened = true
getcookie(self)
根据cookie读取session数据
self.present = true
return self, true
self.started = true
session.opened:表示当前请求session开启状态
session.present: 表示当前用户session是否存在
网友评论