views.py 文件源码

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

项目:bluebutton-web-server 作者: CMSgov 项目源码 文件源码
def callback(request):

    response = OrderedDict()

    oas = OAuth2Session(request.session['client_id'],
                        redirect_uri=request.session['redirect_uri'])

    host = settings.HOSTNAME_URL

    if not(host.startswith("http://") or host.startswith("https://")):
        host = "https://%s" % (host)
    auth_uri = host + request.get_full_path()
    token = oas.fetch_token(request.session['token_uri'],
                            client_secret=request.session['client_secret'],
                            authorization_response=auth_uri)
    request.session['token'] = token
    response['token_response'] = OrderedDict()

    for k, v in token.items():
        if k != "scope":
            response['token_response'][k] = v
        else:
            response['token_response'][k] = ' '.join(v)

    userinfo = oas.get(request.session['userinfo_uri']).json()
    response[request.session['userinfo_uri']] = userinfo
    request.session['patient'] = userinfo['patient']

    response['oidc_discovery_uri'] = host + \
        reverse('openid-configuration')

    response['fhir_metadata_uri'] = host + \
        reverse('fhir_conformance_metadata')

    response['test_page'] = host + reverse('test_links')

    return JsonResponse(response)
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号