使用Grails 3.3.5和security REST 2.0.0-RC1开发rest应用程序。
当我使用/api/login登录时,我得到了正确的结果:
{
"username": "name.surname@acme.com",
"roles": [
"ROLE_USER"
],
"access_token": "qgsbpk05jfrbf33xx08m8r4govkg53d1"
}
我想在响应中添加其他信息,比如用户的姓名和姓氏。谢谢
更新,这要感谢Evgeny,它为我指明了正确的方向,并且阅读了我也实现了一个UserDetailsService的手册。从手册中:
如果要在JSON响应中呈现其他信息,则必须: 配置另一个检索所需附加信息的userDetailsService bean,并将其放入主体对象中。配置另一个accessTokenJsonRenderer,它从restAuthenticationToken.principal对象读取该信息。
发布于 2018-05-21 11:41:10
您可以重写accessTokenJsonRenderer bean
类MyRestAuthTokenJsonRenderer实现AccessTokenJsonRenderer {@重写字符串generateJson(AccessToken accessToken){ // create响应,请参见https://github.com/alvarosanchez/grails-spring-security-rest返回your_formatted_json_response }的DefaultAccessTokenJsonRenderer.groovy }
beans ={ accessTokenJsonRenderer(MyRestAuthTokenJsonRenderer) }
https://stackoverflow.com/questions/50445887
复制相似问题