laravel oAuth2.0-服务器错误

时间:2015-05-15 07:36:55

标签: laravel oauth oauth-2.0

我在laravel框架中使用https://github.com/lucadegasperi/oauth2-server-laravel来创建Api。我配置了所有设置。当我打电话获得令牌时,它会显示

{ "error": "invalid_request", "error_description": "The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Check the "grant_type" parameter." } 

我的拨款类型是 -     ' grant_types' => [' client_credentials' => [' class' => ' \ League \ OAuth2 \ Server \ Grant \ ClientCredentialsGrant',' access_token_ttl' => 3600]],

令牌是 -     ' token_type' => ' League \ OAuth2 \ Server \ TokenType \ Bearer',我需要示例网址来访问我的api ..我是否需要通过访问令牌才能获得访问令牌。

我找不到关于geting访问令牌的任何关键并正确使用它们。请帮帮我...

提前感谢。

2 个答案:

答案 0 :(得分:1)

我正在使用与laravel 5相同的包。有这个tutorial可以很好地解释它。

发布程序包设置后,运行迁移并在oauth_clients和users表中添加一些测试数据。具体来说,您在oauth_clients表中添加client_id和client_secret。还可以在users表中创建具有用户名和密码的用户。最后使用POSTMAN chrome扩展将以下数据提供给POST路由以获取access_token。

grant_type作为密码, client_id就像你上面添加的那样, client_secret就像你刚刚创建的那样, 用户名你的测试用户名 密码您的测试用户密码,

你应该从POSTMAN获得正确的access_token。

答案 1 :(得分:-1)

我认为您需要包含client_idsecret_id参数 您在创建OAuth应用程序时从github获得的。我使用了socialite,我在config / services.php

中使用了以下信息
'github' => [   
            'client_id'     => 'CLIENT_ID',
            'client_secret' => 'CLIENT_SECRET',
            'redirect'      => 'REDIRECT_RUL' 
]

当然这是一个临时解决方案,如果您使用laravel 5我建议您将此信息保存在.env文件中,因为它们更安全。 有关.env

的更多信息,请参见socialite