OAuth2.0授权中有个回调函数,就是请求授权服务后,它会将你需要的code(假设code就是你需要的数据)发送给你的回调函数(你对外开放的一个url地址用以接收参数)

注:这个回调函数有点讨厌为什么不把参数直接返回给请求你的服务,非得开放一个可以被授权服务访问到的服务地址。

如何完成这个回调功能?

方案一:服务器上需要开放两个端口一个是8080端口nginx发布静态资源的端口也是服务对外提供服务的端口,还有一个是8081端口,就为了能让授权服务访问到这个回调函数,服务器上不得不多开发一个端口,这种方案设置的回调函数是http://xx.xx.xx.xx:8081/getAccessToken。而这个8081端口本来是不需要对外开放的,只让nginx能访问到就可以。多开放一个端口就多了一份危险,如何如何结果这个问题?能不能只开放一个端口,也能获得想要的结果。

方案二:服务器上只对外开放8080端口,此时的回调函数是http://xx.xx.xx.xx:8080/back.html,如何让这个back.html获得参数code的值并转发给http://xx.xx.xx.xx:8081/getAccessToken

1、编写back.html代码

注意:这里引入了jquery-3.1.1.min.js

<!doctype html>
<html lang="en"> <head>
<meta charset="UTF-8">
<script type="text/javascript" src="jquery-3.1.1.min.js"></script>
<script type="text/javascript">
// 获取路由参数
function getQueryVariable(variable) {
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i = 0; i < vars.length; i++) {
var pair = vars[i].split("=");
if (pair[0] == variable) { return pair[1]; }
}
return (false);
} var code = getQueryVariable('code'); function pointCode() {
$.ajax({
type: 'get',
url: 'http://xx.xx.xx.xx:8081/getAccessToken',
data: {
code: code,
},
success: function (result) {
alert("回调成功!");
}
});
} pointCode();
</script>
</head> <body>
</body> </html>

2、放置代码

将back.html和jquery-3.1.1.min.js放到前端打包(vue)后的代码dist路径下

OAuth2.0回调函数用html页面转发给controller的更多相关文章

  1. cocos2d-x 3.0 回调函数

    參考文章: http://blog.csdn.net/crayondeng/article/details/18767407 http://blog.csdn.net/star530/article/ ...

  2. ***微信公众平台开发: 获取用户基本信息+OAuth2.0网页授权

    本文介绍如何获得微信公众平台关注用户的基本信息,包括昵称.头像.性别.国家.省份.城市.语言.本文的方法将囊括订阅号和服务号以及自定义菜单各种场景,无论是否有高级接口权限,都有办法来获得用户基本信息, ...

  3. 闭包函数&回调函数

    闭包函数&回调函数 谈到回调函数,不得不提匿名函数;匿名函数,也叫闭包函数,也就是没有名字的函数,它可以单独存在,也可以将其赋值给某一个变量.so,先来看一下闭包函数. 闭包函数 php文档: ...

  4. C/C++回调函数

    C/C++回调函数 在理解“回调函数”之前,首先讨论下函数指针的概念. 函数指针 (1)概念:指针是一个变量,是用来指向内存地址的.一个程序运行时,所有和运行相关的物件都是需要加载到内存中,这就决定了 ...

  5. 【校招面试 之 C/C++】第15题 C 回调函数

    转自:https://segmentfault.com/a/1190000008293902 做略微改动 什么是回调函数 我们先来看看百度百科是如何定义回调函数的: 回调函数就是一个通过函数指针调用的 ...

  6. C/C++中的回调函数

    在理解“回调函数”之前,首先讨论下函数指针的概念. 函数指针 (1)概念:指针是一个变量,是用来指向内存地址的.一个程序运行时,所有和运行相关的物件都是需要加载到内存中,这就决定了程序运行时的任何物件 ...

  7. C/C++之回调函数

    转自:http://www.cnblogs.com/chenyuming507950417/archive/2012/01/02/2310114.html 今天讨论下C/C++中的回调函数. 在理解“ ...

  8. Objective-C学习笔记 利用协议实现回调函数

    来源:http://mobile.51cto.com/iphone-278354.htm Objective-C学习笔记 利用协议实现回调函数是本文要介绍的内容,主要是实现一个显示文字为测试的视图,然 ...

  9. cocos2dx[3.2](9) 新回调函数std::bind

    自从3.0引用了C++11标准后,回调函数采用的新的函数适配器:std::function.std::bind. 而曾经的回调函数menu_selector.callfunc_selector.ccc ...

  10. C++回调函数的理解与使用

    一.回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,我们就说这是回调函数.回调函数不是由该函数的实现方直接调用,而是在 ...

随机推荐

  1. 吉特日化MES & SQL Server中的数据类型

    一. 整数数据类型 1.bit bit数据类型是整型,其值只能是0.1或空值.这种数据类型用于存储只有两种可能值的数据,如Yes 或No.True 或False .On 或Off.注意:很省空间的一种 ...

  2. [NOI online2022普及A] 王国比赛

    题目描述 智慧之王 Kri 统治着一座王国. 这天 Kri 决定举行一场比赛,来检验自己大臣的智慧. 比赛由 \(n\) 道判断题组成,有 \(m\) 位大臣参加.现在你已经知道了所有大臣的答题情况, ...

  3. 后端程序员必会的前端知识-01:html、css

    第一章. HTML 与 CSS HTML 是什么:即 HyperText Markup language 超文本标记语言,咱们熟知的网页就是用它编写的,HTML 的作用是定义网页的内容和结构. Hyp ...

  4. ROW_NUMBER 开窗函数优化方案(Oracle && PostgreSQL 性能比对)

    帮朋友优化一条很简单的窗口函数 ROW_NUMBER() OVER() , Oracle 迁移 PostgreSQL项目. 原始SQL和执行计划 STUDENT_BAK 表我模拟的数据,3千万行数据. ...

  5. Java操作Word修订功能:启用、接受、拒绝、获取修订

    Word的修订功能是一种在文档中进行编辑和审阅的功能.它允许多个用户对同一文档进行修改并跟踪这些修改,以便进行审查和接受或拒绝修改.修订功能通常用于团队合作.专业编辑和文件审查等场景. 本文将从以下几 ...

  6. 华企盾DSC手机app登录不上常见处理方法

    1.DSC服务器是否正常运行. 2.telnet外网是否通.(需要在程序与功能中添加telnet功能才能在cmd窗口用telnet命令 举例:telnet 172.17.2.20 5558) 3.其它 ...

  7. 数字孪生结合GIS会给矿业带来怎样的改变

    数字孪生技术和GIS的结合为矿业带来了革命性的改变.矿业作为重要的经济支柱,其发展与资源的开采.生产过程的管理密切相关.通过数字孪生和GIS的融合,矿业行业可以实现更高效.可持续的运营和管理,带来许多 ...

  8. 从零玩转设计模式之简单工厂设计模式-jiandangonchangmoshi

    title: 从零玩转设计模式之简单工厂设计模式 date: 2022-12-08 11:31:19.472 updated: 2022-12-11 23:03:34.805 url: https:/ ...

  9. 报错信息如下:出现身份验证错误。要求的函数不受支持。可能是由于CredSSP加密数据库修正。

    微软官方已出补丁包:CVE-2018-0886 的 CredSSP 更新 Windows Server 2016, all editions.Windows Server 2012 R2 Standa ...

  10. MySQL|空间碎片化问题处理

    一.空间碎片化严重案例分享 1.1 问题描述 实例磁盘空间近1个月上涨趋势明显,主要是个别日志表存储较大且部分表存在空间碎片化的现象. 1.2 处理流程 1.通过日常巡检以及监控发现某实例磁盘空间近1 ...