api - Symfony 2 - FOSUserBundle - 如何集成到 API 中

标签 api symfony mobile fosuserbundle fosrestbundle

我在一个新的 Symfony 2 项目上工作。我正在同时学习这个框架。对于用户管理,我使用捆绑 FOSUserBundle。
我的项目运行良好,我可以登录、注册、注销和所有其他可用命令。
问题是我想制作智能手机应用程序,该应用程序将使用我的 Symfony 应用程序的 API。在应用程序中,用户必须登录或注册。是否也可以将 FOSUserBundle 方法用于 API?
我研究了另一个用于制作 API 的包,它是 FOSRestBundle。
如果没有解决方案,您是否认为我必须创建自己的用户方法,例如:

    /api/login
    /api/register 
然后,在这个方法中,我重定向到 FOSUserBundle 方法?我只是想知道什么是最好的,最干净的登录方式,并从智能手机注册 FOSUserBundle,所以通过使用 API

最佳答案

我也有这个问题。
我发现最好的解决方案是这个

use Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken;

class YourController extends Controller{
//Other Methods..

public function loginAction(Request $request){
    try{
        $token = $this->get('security.authentication.manager')->authenticate(new UsernamePasswordToken('username', 'password', 'firewall'));
        $this->get('security.context')->setToken($token);
    }
    catch(BadCredentialsException $e){
        return new Response("Bad credentials", 403);
    }
    return new Response("success");
}
}

关于api - Symfony 2 - FOSUserBundle - 如何集成到 API 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19574197/

相关文章:

caching - Symfony2.2渲染ESI模板

javascript - 如何在 stfalcon/TinymceBundle (Symfony2) 中配置实体编码?

iphone - 将 iPhone 应用程序部署到 AppStore

rest - 部署带有依赖项的 REST API

php - Magento 中的自定义 Rest Api

javascript - 为什么 mongoose 的 deleteOne 和 findById 对已删除的 id 起作用

php - 连接到数据库 Symfony 4 Flex

mobile - 跨手机后台服务

mobile - 检测附近的电话号码

api - 获取 Google Classroom Meet 链接