pysaml2用法缺少实体id规范

2024-05-16 06:40:02 发布

您现在位置:Python中文网/ 问答频道 /正文

初始化pysaml2客户端的正确数据格式是什么?该库抱怨Missing entity_id specification,尽管xml中有一个entityID(见下文)

spConfig = Saml2Config()
spConfig.load({
    'metadata': {
        'inline': [idp_metadata],
    },
    'service': {
        'sp': {
            'endpoints': {
                'assertion_consumer_service': [
                    (acs_url, BINDING_HTTP_REDIRECT),
                    (acs_url, BINDING_HTTP_POST),
                    (https_acs_url, BINDING_HTTP_REDIRECT),
                    (https_acs_url, BINDING_HTTP_POST)
                ],
            },
            # Don't verify that the incoming requests originate from us via
            # the built-in cache for authn request ids in pysaml2
            'allow_unsolicited': True,
            # Don't sign authn requests, since signed requests only make
            # sense in a situation where you control both the SP and IdP
            'authn_requests_signed': False,
            'logout_requests_signed': True,
            'want_assertions_signed': True,
            'want_response_signed': False,
        },
    },
})
saml_client = Saml2Client(config=spConfig)

XML:

<?xml version="1.0" encoding="UTF-8"?>
<md:EntityDescriptor
  entityID="http://www.okta.com/[redacted]" 
  xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata">
...

库版本是最新的python3.10在macOS Catalina上运行


Tags: theintruehttpurlxmlrequestsauthn
1条回答
网友
1楼 · 发布于 2024-05-16 06:40:02

部分答案:pysaml2需要一个额外的参数:

settings = {
        'metadata': {
            'inline': [idp_metadata],
        },
        'entityid': ...

文档太糟糕了,现在还不清楚这是否是一个完整的解决方案

相关问题 更多 >