fosoauthserververbundle与fosuserbundle-如何使其起作用



当前我的项目运作良好。我使用FosuserBundle来管理用户。现在,我想实现OAuth,所以我正在使用FosoAuthServerBundle。大多数开发人员都向实施OAuth推荐此捆绑包。

我遵循了Fosoauthserververbundle的文档。通常,我必须在我的安全性中添加更多信息,但我不知道我要做什么...

这是我的security.yml:

security:
    encoders:
       SymfonyComponentSecurityCoreUserUser: plaintext
       MoodressBundleUserBundleEntityUser: sha512
    role_hierarchy:
       ROLE_ADMIN:       ROLE_USER
       ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_ALLOWED_TO_SWITCH]
    providers:
       main:
           id: fos_user.user_provider.username
    firewalls:
        dev:
            pattern:  ^/(_(profiler|wdt)|css|images|js)/
            security: false
        oauth_token:
            pattern:    ^/oauth/v2/token
            security:   false
        oauth_authorize:
            pattern:    ^/oauth/v2/auth
        main:
            pattern: ^/
            fos_oauth:  true
            stateless:  true
            anonymous: true

我想可能会添加一些信息吗?

我真的不知道如何与fosuserbundle制作作品。在此之前,仅使用FosuserBundle,我使用了登录表单和FosuserBundle的登录检查。现在,我将所有基本配置放在FosoAuthServerBundle的所有基本配置中,接下来我要做什么?我应该使用哪种表格?哪个登录检查?令牌是由Fosoauthserverbundle自动创建的吗?在文档中,他们显示了如何创建客户端...我应该在项目中添加此代码吗?如果是...在哪里?:/

我在网络上找到了这篇文章:http://blog.logicexception.com/2012/04/securing-syfmony2-rest-service-wiith.html

我试图实施此功能,但我不敢相信我们需要添加所有这些文件才能使其正常工作...

如果某人知道如何与fosuserbundle进行fosoauthserververbundle,那将非常有帮助。

我刚刚安装了这个捆绑包并开始使用它。

我认为您需要首先了解有关Oauth身份验证的工作方式。

这样,您将了解FosuserBundle机制与Oauth并不完全相同。

您的链接是正确设置捆绑包的最佳信息。

我正在使用mongodb存储所有所需的4个文档:客户端,authcode,刷新和访问

称为"创建新客户端"的步骤基本上是oauth的fosuserbundle的"寄存器"过程。

oauth将使用客户端授予访问权限。

OAuth的主要思想是确保API,因此我建议您将配置切换为匿名:false

然后您将看到消息:

{"error":"access_denied","error_description":"OAuth2 authentication required"}

当您致电API

OAuth的想法是获取访问令牌来调用您的API。阅读以下内容:http://blog.tankist.de/blog/2013/07/16/oauth2-explain-part-part-1-part-1-principles-and-terinology/

这是需要遵循OAuth身份验证过程的时候。

有5种基本方法:

const GRANT_TYPE_AUTH_CODE = 'authorization_code';
const GRANT_TYPE_IMPLICIT = 'token';
const GRANT_TYPE_USER_CREDENTIALS = 'password';
const GRANT_TYPE_CLIENT_CREDENTIALS = 'client_credentials';
const GRANT_TYPE_REFRESH_TOKEN = 'refresh_token';

要了解每个信息,请查找有关Oauth RFC的更多文档。

它们每个都对应于以下特定呼叫:/oauth/v2/token?client_id = [client_id]& wendesp_type = code& redirect_uri = url& grant_type = token

>

cf:https://github.com/friendsofsymfony/oauth2-php/blob/master/master/lib/oauth2/oauth2/oauth2.php#l182

还阅读此链接:blog.tankist.de/blog/2013/08/20/oauth2-explain-part-4-implementing-custom-grant-type-symfony2-fosoauthserverververververververver/

"测试时间"的零件说明了如何使用oauth。

我仍在努力。

希望它有帮助。


此链接还指示如何使用fosuserbundle用户&USERMANAGER可能使用密码Grant_Type:如果您正在验证用户,请不要忘记设置用户提供商。

这是使用FosuserBundle用户提供商的示例:https://github.com/friendsofsymfony/fosoauthserverbundle/blob/master/resources/doc/index.md

# app/config/config.yml
fos_oauth_server:
    ...
    service:
        user_provider: fos_user.user_manager

相关内容

  • 没有找到相关文章

最新更新