views.py 文件源码

python
阅读 20 收藏 0 点赞 0 评论 0

项目:SpongeAuth 作者: lukegb 项目源码 文件源码
def begin(request):
    sso = discourse_sso.DiscourseSigner(settings.DISCOURSE_SSO_SECRET)

    raw_payload = request.GET.get('sso', '')
    raw_signature = request.GET.get('sig', '')
    try:
        payload = sso.unsign(raw_payload, raw_signature)
    except discourse_sso.SignatureError:
        return HttpResponseForbidden()

    if b'return_sso_url' not in payload:
        return HttpResponseForbidden()

    out_payload, out_signature = sso.sign(
        utils.make_payload(request.user, payload[b'nonce']))
    redirect_to = '{}?{}'.format(
        payload[b'return_sso_url'].decode('utf8'),
        urllib.parse.urlencode({
            'sso': out_payload,
            'sig': out_signature}))
    return redirect(redirect_to)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号