作者:劉賓, thomas_liub@hotmail.com
請尊重作者著作權(quán),轉(zhuǎn)載請注明出處,謝謝!
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)授權(quán)碼校驗
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)后續(xù)訪問
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
設(shè)置session metatable
self.opened = true
getcookie(self)
根據(jù)cookie讀取session數(shù)據(jù)
self.present = true
return self, true
self.started = true
session.opened:表示當前請求session開啟狀態(tài)
session.present: 表示當前用戶session是否存在