Php 无法使用户凭据授予类型正常工作
我有一个Laravel4.2应用程序,我已经成功地使用oauth2服务器php实现了授权代码。但是,我似乎无法使用户凭据授权生效 下面是我设置oauth服务器的代码:Php 无法使用户凭据授予类型正常工作,php,laravel-4.2,oauth2-server,Php,Laravel 4.2,Oauth2 Server,我有一个Laravel4.2应用程序,我已经成功地使用oauth2服务器php实现了授权代码。但是,我似乎无法使用户凭据授权生效 下面是我设置oauth服务器的代码: App::singleton( 'oauth2', function () { $host = Config::get('database.connections.mongodb.host'); $hosts = is_array($host) ? $host : [$host];
App::singleton(
'oauth2',
function () {
$host = Config::get('database.connections.mongodb.host');
$hosts = is_array($host) ? $host : [$host];
$dbName = Config::get('database.connections.mongodb.database');
$dbOptions =
empty( Config::get('database.connections.mongodb.options') ) ? [] : Config::get(
'database.connections.mongodb.options'
);
$mongo = new MongoClient('mongodb://' . implode(',', $hosts) . '/' . $dbName, $dbOptions);
$storage = new OAuth2\Storage\Mongo($mongo->{$dbName});
$server = new OAuth2\Server(
$storage, [
'always_issue_new_refresh_token' => true,
'refresh_token_lifetime' => 2419200,
]
);
$userStorage = new \Medusa\Oauth\Storage\MedusaUserCredentials();
$server->addStorage($userStorage, 'users');
$userCredentialGrant = new Oauth2\GrantType\UserCredentials($userStorage);
$server->addGrantType(new OAuth2\GrantType\AuthorizationCode($storage));
$server->addGrantType(new OAuth2\GrantType\ClientCredentials($storage));
$server->addGrantType($userCredentialGrant);
$server->addGrantType(new OAuth2\GrantType\RefreshToken($storage));
return $server;
}
);
MedusaUserCredentials具有以下代码:
namespace Medusa\Oauth\Storage;
use OAuth2\Storage\UserCredentialsInterface;
class MedusaUserCredentials implements UserCredentialsInterface
{
public function checkUserCredentials($username, $password)
{
return Auth::attempt(['email_address' => strtolower($username), 'password' => $password, 'active' => 1]);
}
public function getUserDetails($username)
{
return ['user_id' => $username];
}
}
当我使用原始有效负载向web服务器投递令牌路由时
grant_type=password&username=<USERNAME>&password=<PASSWORD>
我错过了什么
谢谢 我发现了这个问题——我有一个名称空间问题需要解决。出于某种原因,我的应用程序返回了200 OK响应和正常的登录页面,所以我不想检查日志
我知道,坏德夫,不要饼干 我发现了这个问题——我有一个名称空间问题需要解决。出于某种原因,我的应用程序返回了200 OK响应和正常的登录页面,所以我不想检查日志
我知道,坏德夫,不要饼干
Route::post(
'oauth/token',
function () {
$bridgedRequest = OAuth2\HttpFoundationBridge\Request::createFromRequest(Request::instance());
$bridgedResponse = new OAuth2\HttpFoundationBridge\Response();
$bridgedResponse = App::make('oauth2')->handleTokenRequest($bridgedRequest, $bridgedResponse);
print_r($bridgedResponse); die();
return $bridgedResponse;
}
);