• SpringBlade 跨域 无法获取到token


    可参考:
    https://blog.csdn.net/She_lock/article/details/86241685
    https://blog.csdn.net/weixin_42429220/article/details/107891095
    https://www.jianshu.com/p/5cf82f092201?tdsourcetag=s_pctim_aiomsg

    黎大神解决的

    改一下BladeConfiguration这个类就可以了



    后端代码如下

    	/**
    	 * 跨域配置
    	 * @param registry
    	 */
    	@Override
    	public void addCorsMappings(CorsRegistry registry) {
    		registry.addMapping("/**")
    			.allowCredentials(false)
    			.allowedMethods("POST", "GET", "PUT", "OPTIONS", "DELETE")
    			.allowedOrigins("*");
    	}
    
    

    前端代码

    就随便在vs里面写的一个页面,然后用ajax请求一下就可以了

    
                // 注意
                // URL地址地址是localhost:10000/blade-auth, 不是localhost:1888/api/blade-auth
                // 注意哦,昨天就采坑了 这里
    
    
                // 请求授权
                $.ajax({
                    type: "POST",
                    url: "http://localhost:10000/blade-auth/token?account=admin&grantType=password&password=admin&tenantId=000000",
                    dataType: 'json',
                    headers: {
                        'Content-Type': 'application/x-www-form-urlencoded',
                        'Authorization': 'Basic c2FiZXI6c2FiZXJfc2VjcmV0'
                    },
                    success: function (response) {
                        console.log(response);
    
                        // 请求业务接口
                        var accessToken = response.data.accessToken;
                        $.ajax({
                            type: "GET",
                            url: "http://localhost:10000/blade-pms/brand/list?current=1&size=10",
                            dataType: 'json',
                            headers: {
                                'Authorization': 'Basic c2FiZXI6c2FiZXJfc2VjcmV0',
                                'Blade-Auth': 'bearer ' + accessToken,
                            },
                            success: function (response2) {
                                console.log(response2);
                            }
                        });
    
                    }
                });
    
    

    问题1:header中为什么要传这个'Authorization': 'Basic c2FiZXI6c2FiZXJfc2VjcmV0',以及这个是怎么来的?

    原文:https://www.cnblogs.com/longsanshi/p/12740787.html

    c2FiZXI6c2FiZXJfc2VjcmV0这个,用base64编码的方式,解码后是这样的:saber:saber_secret
    是不是有点恍然大悟的感觉了,标识了当前登录的客户端是哪个,以及对应的客户端密钥

    数据库对应的地方



    前端生成这个的地方

  • 相关阅读:
    Course Schedule II
    Vim笔记
    python programming
    暴风电视刷机教程
    python asyncio
    sqlalchemy lock and atomic
    rust学习(二)
    rust-vmm 学习(二)
    e3s10 网络管理
    打造VIM成为IDE - nerdtree
  • 原文地址:https://www.cnblogs.com/guxingy/p/13813018.html
Copyright © 2020-2023  润新知