grails - /token 上的 Grails OAuth 提供程序 404
问题描述
嗨,我正在尝试使用 grails 中的此文档设置 OAuth 提供程序:Grails Documentation
我已经完成了所有步骤,但是当我尝试在邮递员中提出请求时,我总是找不到 404。我尝试了很多配置,也尝试了一些不同的配置filterChain.chainMap
我还有一个运行良好的 MobileController,我可以在项目中访问它。我试图复制并粘贴过滤器链过滤器以使其与 /mobile/ 上的相同但它仍然给了我一个 404,我运行了初始化脚本 (s2-init-oauth2-provider) 来制作域类
这是我对 OAuth 提供者很重要的代码:
grails-app/conf/application.groovy:
List<String> url_public = [
'/mobile/**',
'/oauth/token'
]
grails.plugin.springsecurity.filterChain.chainMap = [
[pattern: '/oauth/token', filters: 'JOINED_FILTERS,-oauth2ProviderFilter,-securityContextPersistenceFilter,-logoutFilter,-authenticationProcessingFilter,-rememberMeAuthenticationFilter,-exceptionTranslationFilter'],
[pattern: '/mobile/**', filters: 'JOINED_FILTERS, -securityContextPersistenceFilter, -logoutFilter, -authenticationProcessingFilter, -rememberMeAuthenticationFilter, -oauth2BasicAuthenticationFilter, -exceptionTranslationFilter'],
[pattern: '/**', filters: 'JOINED_FILTERS, -basicAuthenticationFilter, -basicExceptionTranslationFilter, -statelessSecurityContextPersistenceFilter, -oauth2ProviderFilter, -clientCredentialsTokenEndpointFilter, -oauth2BasicAuthenticationFilter, -oauth2ExceptionTranslationFilter'],
]
grails.plugin.springsecurity.oauthProvider.clientLookup.className = 'com.app.oauth.OAuthClient'
grails.plugin.springsecurity.oauthProvider.authorizationCodeLookup.className = 'com.app.oauth.AuthorizationCode'
grails.plugin.springsecurity.oauthProvider.accessTokenLookup.className = 'com.app.oauth.AccessToken'
grails.plugin.springsecurity.oauthProvider.refreshTokenLookup.className = 'com.app.oauth.RefreshToken'
grails-app/init/Bootstrap.groovy:
new OAuthClient(
clientId: 'client_id',
authorizedGrantTypes: ['authorization_code', 'refresh_token', 'implicit', 'password', 'client_credentials'],
authorities: ['ROLE_client'],
scopes: ['read', 'write'],
).save(flush: true)
println "End bootstrap.init "
解决方案
解决方法是我必须从 url_public 列表中删除 url。
List<String> url_public = [
'/mobile/**'
]
推荐阅读
- spring - 使用 Spring SFTP 出站网关时文件发送到错误的 sftp 位置
- python - 如何放大 python 输入()?
- oracle - Oracle Apex - 提交时重新加载
- bash - AWS CLI 错误重定向在 bash 中不起作用
- sql - sql表索引
- javascript - 如何在 Javascript 中每次重新加载页面时每分钟附加到一个数组?
- flutter - Flutter 中的板球式马车车轮图表设计
- reactjs - 在 Android TV 上反应本机内存泄漏
- python - 任务不删除消息,discord.py
- java - 使用 Microsoft Graph SDK for java 将大文件上传到带有元数据的 SharePoint