我需要从flask内部调用@ oauth.token_handler的方法。 签名如下:
@oauth.token_handler
def access_token(*args, **kwargs):
return None
因此它在内部调用token_handler()的实现。 我试着打电话
response = access_token("", {'grant_type':'password'})
希望oauth可以检索方法中的参数,但它不起作用。
400 {"error": "unsupported_grant_type"}
Oauth找不到数据(对我来说没有意外)
当curl方法按预期工作时:
curl -k -X POST -d "client_id=f9O7kapzXnK1gYAxxxxxxx&grant_type=password&username=blah&password=pass" http://localhost:5001/oauth/token
我的问题是,如何在内部伪造此调用oauth,以便它可以检索所有信息(grant_type,client_id等...)。因为目前,我试着没有运气。
注意:我知道应该从客户端调用oauth;但是在这里,过程是一个人发送他/她的提供者凭证为他/她的id profil,我检查凭证是否正常,然后我用我自己的oauth提供者创建一个内部帐户并将access_token发送给我申请的资源。 我的问题是我不知道如何使用正确的参数调用access_token()。 Flask-oauth无法找到我的论点。
Doc可以在这里找到: http://flask-oauthlib.readthedocs.io/en/latest/api.html
答案 0 :(得分:0)
我是Flask-OAuthlib的作者。我不得不说,它没有很好的设计,我强烈建议你使用Authlib。这是一个example of OAuth 2 provider。