示例#1
0
def test_provider_info_default_client_none(requests_mock):
    requests_mock.get("https://authit.test/.well-known/openid-configuration",
                      json={})
    info = OidcProviderInfo(issuer="https://authit.test")
    assert info.get_default_client_id(grant_types=[]) is None
    assert info.get_default_client_id(
        grant_types=[DefaultOidcClientGrant.DEVICE_CODE_PKCE]) is None
示例#2
0
def test_provider_info_default_client_available_list(requests_mock):
    requests_mock.get("https://authit.test/.well-known/openid-configuration",
                      json={})
    default_clients = [{
        "id":
        "jak4l0v3-45lsdfe3d",
        "grant_types":
        ["urn:ietf:params:oauth:grant-type:device_code+pkce", "refresh_token"]
    }]
    info = OidcProviderInfo(issuer="https://authit.test",
                            default_clients=default_clients)

    # Alias for compactness
    g = DefaultOidcClientGrant

    assert info.get_default_client_id(grant_check=[]) == "jak4l0v3-45lsdfe3d"
    assert info.get_default_client_id(
        grant_check=[g.DEVICE_CODE_PKCE]) == "jak4l0v3-45lsdfe3d"
    assert info.get_default_client_id(
        grant_check=[g.REFRESH_TOKEN]) == "jak4l0v3-45lsdfe3d"
    assert info.get_default_client_id(
        grant_check=[g.DEVICE_CODE_PKCE, g.REFRESH_TOKEN
                     ]) == "jak4l0v3-45lsdfe3d"

    assert info.get_default_client_id(grant_check=[g.IMPLICIT]) is None
    assert info.get_default_client_id(
        grant_check=[g.IMPLICIT, g.REFRESH_TOKEN]) is None
示例#3
0
def test_provider_info_default_client_invalid_grants(requests_mock, caplog):
    requests_mock.get("https://authit.test/.well-known/openid-configuration",
                      json={})
    default_clients = [{
        "id": "jak4l0v3-45lsdfe3d",
        "grant_types": ["refresh_token", "nope dis invalid"]
    }]
    info = OidcProviderInfo(issuer="https://authit.test",
                            default_clients=default_clients)

    # Alias for compactness
    g = DefaultOidcClientGrant

    with caplog.at_level(logging.WARNING):
        assert info.get_default_client_id(
            grant_check=[g.REFRESH_TOKEN]) == "jak4l0v3-45lsdfe3d"
    assert "Invalid OIDC grant type 'nope dis" in caplog.text
示例#4
0
def test_provider_info_default_client_none(requests_mock):
    requests_mock.get("https://authit.test/.well-known/openid-configuration",
                      json={})
    info = OidcProviderInfo(issuer="https://authit.test")
    assert info.get_default_client_id(grant_check=[]) is None
    assert info.get_default_client_id(grant_check=lambda grants: True) is None