当前位置: 首页 > news >正文

有手机网站怎样做微信小程序企业站seo

有手机网站怎样做微信小程序,企业站seo,网站单页面怎么做,北京网站设计公司sx成都柚米科技15目录 一、问题描述 二、实现步骤 1、自定义TokenEnhancer 2、配置授权服务器 3、自定义UserDetails的User类 三、参考文档 一、问题描述 Oauth2里默认生成的JWT信息并没有用户信息,在认证授权后一般会返回这一部分信息,我对此进行了改造。 Oauth…

目录

一、问题描述

二、实现步骤

1、自定义TokenEnhancer

2、配置授权服务器

3、自定义UserDetails的User类

三、参考文档


一、问题描述

Oauth2里默认生成的JWT信息并没有用户信息,在认证授权后一般会返回这一部分信息,我对此进行了改造。

Oauth 2.0 JWT 默认返回 OAuth2AccessToken 接口的实现类,默认实现类是 DefaultOAuth2AccessToken,返回字段有 5 个:

access_token:表示访问令牌,必选项
token_type:表示令牌类型,该值大小写不敏感,必选项,默认是 bearer 类型
expires_in:表示过期时间,单位为秒。如果省略该参数,必须其他方式设置过期时间。
refresh_token:表示更新令牌,用来获取下一次的访问令牌,可选项。
scope:表示权限范围,如果与客户端申请的范围一致,此处可省

改造后,最终实现效果:

可以看到额外信息已添加上。

二、实现步骤

1、自定义TokenEnhancer

public TokenEnhancer customTokenEnhancer() {return (accessToken, authentication) -> {Map<String, Object> additionalInfo = new HashMap<>();Object principal = authentication.getPrincipal();try {String s = objectMapper.writeValueAsString(principal);Map<?, ?> map = objectMapper.readValue(s, Map.class);/* 移除不需要的属性 */map.remove("accountNonExpired");map.remove("accountNonLocked");map.remove("credentialsNonExpired");map.remove("enabled");additionalInfo.put("data", map);} catch (JsonProcessingException e) {log.error("", e);}((DefaultOAuth2AccessToken) accessToken).setAdditionalInformation(additionalInfo);return accessToken;};}

2、配置授权服务器

    @Overridepublic void configure(AuthorizationServerEndpointsConfigurer endpoints) throws Exception {TokenEnhancerChain enhancerChain = new TokenEnhancerChain();enhancerChain.setTokenEnhancers(Arrays.asList(customTokenEnhancer(), jwtAccessTokenConverter())); //token转换器DefaultTokenServices tokenServices = new DefaultTokenServices();tokenServices.setTokenEnhancer(enhancerChain); //token拓展链tokenServices.setTokenStore(jwtTokenStore()); //采用JWT存储token/* 开启refresh_token */tokenServices.setReuseRefreshToken(true);tokenServices.setSupportRefreshToken(true);endpoints.authenticationManager(authenticationManager).userDetailsService(userDetailsService).tokenStore(jwtTokenStore()) //采用JWT存储token.tokenServices(tokenServices);super.configure(endpoints);}

3、自定义UserDetails的User类

@Getter
@Setter
@ApiModel("登录用户对象")
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public class JwtUser<T> extends User {@ApiModelProperty("账号信息")private T info;@ApiModelProperty("菜单")private List<TreeNode<SysMenu>> menus;public JwtUser(String username, String password, Collection<? extends GrantedAuthority> authorities) {super(username, password, authorities);}public JwtUser(String username, String password, boolean enabled, boolean accountNonExpired, boolean credentialsNonExpired, boolean accountNonLocked, Collection<? extends GrantedAuthority> authorities) {super(username, password, enabled, accountNonExpired, credentialsNonExpired, accountNonLocked, authorities);}
}

并自定义UserDetailsService并在返回时返回自定义对象即可。

三、参考文档

https://www.cnblogs.com/kuangdaoyizhimei/p/14279979.html

Spring Security JWT 添加额外信息_jwts增加参数-CSDN博客

http://www.hrbkazy.com/news/55349.html

相关文章:

  • 宁夏建设厅网站首页发布软文平台
  • 网站如何换服务器怎么制作链接网页
  • 制作微网站公司怎么找拉新推广平台
  • 怎么查看网站提交百度的度免费个人网站空间
  • 新建网站如何让百度收录成都网站推广经理
  • 网站底部代码特效太原seo软件
  • 郑州做网站推网络推广是做什么工作
  • 晋安福州网站建设西安网站搭建
  • 外贸免费建设网站制作赣州seo公司
  • 广告设计怎么接单湖北seo公司
  • 网站 免费 认证百度搜索引擎优化的方法
  • 使用wget对网站做镜像网络互联网推广
  • 网站排名所以关键词下降百度推广手机客户端
  • 程序员前端和后端的区别百度seo指南
  • 政府网站开发需求文档seo营销工具
  • 上海建筑建材业网官网徐州seo培训
  • 外国做网站的平台爱战网关键词查询网站
  • wordpress公园怎么网站排名seo
  • 怎么自己搭建博客网站网络推广专员所需知识
  • 干净简约的网站软文网站有哪些
  • 网页模板免费版seopc流量排行榜企业
  • 公司图片logoseo诊断优化专家
  • 漳州网站建设点击博大选今日热点新闻事件摘抄50字
  • 敦煌网站建设seo优化公司
  • 网站建设论文伯乐在线佛山网站优化
  • 做网站文字编辑工作好不好刷网站排名软件
  • 温州如何进行网站推广文件外链生成网站
  • 武汉网站制作开发宁波网站推广优化外包
  • 赤峰企业网站建设广东疫情最新消息今天又封了
  • 做网站什么主题比较好友情链接交换系统