craffft / contao-oauth2-bundle
此包已被废弃,不再维护。未建议替代包。
ContaoOAuth2Bundle for Symfony with Contao
1.1.0
2018-01-29 19:21 UTC
Requires
- php: >=7.1
- contao/core-bundle: ~4.4
- doctrine/orm: ~2.5
- friendsofsymfony/oauth-server-bundle: ~1.5
- menatwork/contao-multicolumnwizard: ^3.3
- symfony/browser-kit: ~2.8|~3.0
- symfony/framework-bundle: ~2.8|~3.0
- symfony/http-kernel: ~2.8|~3.0
- symfony/security: ~2.8|~3.0
Requires (Dev)
- contao/manager-plugin: ^2.0
- doctrine/doctrine-fixtures-bundle: ^2.3
- phpunit/phpunit: ^4.8
Conflicts
- contao/core: *
- contao/manager-plugin: <2.0 || >=3.0
This package is not auto-updated.
Last update: 2020-08-21 20:32:18 UTC
README
Contao OAuth2 Bundle
Contao OAuth2 Bundle for Symfony
安装
步骤 1:下载包
打开命令行,进入项目目录,执行以下命令以下载此包的最新稳定版本
$ composer require craffft/contao-oauth2-bundle "~1.0"
此命令需要您全局安装了Composer,请参阅Composer文档中的安装章节。
步骤 2:启用包
然后,通过将其添加到项目app/AppKernel.php
文件中注册的包列表中来启用包
<?php // app/AppKernel.php // ... class AppKernel extends Kernel { public function registerBundles() { $bundles = array( // ... // Add them all! new Contao\CoreBundle\HttpKernel\Bundle\ContaoModuleBundle('multicolumnwizard', $this->getRootDir()), new FOS\OAuthServerBundle\FOSOAuthServerBundle(), new Craffft\ContaoOAuth2Bundle\CraffftContaoOAuth2Bundle(), ); // ... } // ... }
步骤 3:配置包
接下来,将以下配置添加到项目的app/config/config.yml
文件中
# app/config/config.yml # ... # Doctrine configuration doctrine: dbal: # ... orm: auto_generate_proxy_classes: "%kernel.debug%" naming_strategy: doctrine.orm.naming_strategy.underscore auto_mapping: true # ... # FOS OAuth2 Server Bundle fos_oauth_server: db_driver: orm client_class: Craffft\ContaoOAuth2Bundle\Entity\OAuth2Client access_token_class: Craffft\ContaoOAuth2Bundle\Entity\OAuth2AccessToken refresh_token_class: Craffft\ContaoOAuth2Bundle\Entity\OAuth2RefreshToken auth_code_class: Craffft\ContaoOAuth2Bundle\Entity\OAuth2AuthCode service: user_provider: craffft.contao_oauth2.user_provider
在app/config/routing.yml中导入路由配置文件
# app/config/routing.yml fos_oauth_server_token: resource: "@FOSOAuthServerBundle/Resources/config/routing/token.xml" fos_oauth_server_authorize: resource: "@FOSOAuthServerBundle/Resources/config/routing/authorize.xml"
复制vendor/contao/core-bundle/src/Resources/config/security.yml
文件的内容,并用它替换app/config/security.yml
文件。然后按照以下代码进行修改
# app/config/security.yml # ... security: encoders: Craffft\ContaoOAuth2Bundle\Entity\Member: id: craffft.contao_oauth2.contao_password_encoder firewalls: oauth_token: # Everyone can access the access token URL. pattern: ^/oauth/v2/token security: false api: pattern: ^/api # All URLs are protected fos_oauth: true # OAuth2 protected resource stateless: true # Do no set session cookies anonymous: false # Anonymous access is not allowed
步骤 4:生成数据库表
将数据库表改为InnoDB,以防止模式更新错误。
ALTER TABLE tl_member ENGINE=InnoDB; ALTER TABLE tl_oauth_client ENGINE=InnoDB;
请使用以下命令更新您的数据库,因为contao安装工具不会生成symfony相关的表。
php app/console doctrine:schema:update --force