可以在 authlib 中请求带有 POST 和 json 正文的 oAuth 令牌吗?

Request oAuth token with POST and json body in authlib possible?

我的 oAuth2 服务要求我不是通过 GET 请求访问令牌,而是 POST 并在 [=22] 中发送 client_id、client_secret 和 token_endpoint =]正文.

根据文档,authlib 似乎支持 POST 身份验证请求。但是,以下代码仍然 return "invalid request" (而邮递员手动形成的请求成功):

session = OAuth2Session(
    settings.SECURE_M2M_CLIENT_ID, settings.SECURE_M2M_CLIENT_SECRET,
    token_endpoint_auth_method="client_secret_post"
)
token = session.fetch_token(settings.SECURE_M2M_TOKEN_ENDPOINT, verify=False)

标准 client_secret_post 将发送表单编码正文。您的案例可以使用自定义身份验证方法完成,您可以从这里学习:https://docs.authlib.org/en/latest/client/oauth2.html?highlight=token_endpoint_auth_method#client-authentication

例如你可以调用你的方法:client_secret_json_post.