def METHOD_NAME(
    client, login, user_rincewind, client_hex_credential
) -> None:
    """The authcode endpoint will raise 403 if not well formed."""
    login.as_(user_rincewind)
    # Incomplete request
    query_params: Dict[str, str] = {}
    rv = client.get('/api/1/auth', query_string=query_params)
    assert rv.status_code == 403
    assert "Missing client_id" in rv.get_data(as_text=True)
    # Unknown client
    query_params['client_id'] = 'unknown'
    rv = client.get('/api/1/auth', query_string=query_params)
    assert rv.status_code == 403
    assert "Unknown client_id" in rv.get_data(as_text=True)
    # Missing redirect URI (error is sent to client as a query parameter)
    query_params['client_id'] = client_hex_credential.cred.name
    rv = client.get('/api/1/auth', query_string=query_params)
    assert rv.status_code == 303
    assert parse_qs(urlsplit(rv.location).query)['error'] == ['invalid_request']
    # TODO: Add redirect_uri, response_type, state, scope