我使用这个库:Oauth2 PHP
我找不到更改过期时间的设置,我尝试过:
new OAuth2\Server($this->_mem, array('use_jwt_access_tokens' => true, 'access_token_lifetime' => 2419200));
Run Code Online (Sandbox Code Playgroud)
但令牌的生命周期始终为 3600。正确的设置是什么?
编辑:按照建议,我尝试使用刷新令牌
new OAuth2\Server($this->_mem, array('use_jwt_access_tokens' => true, 'always_issue_new_refresh_token' => true));
Run Code Online (Sandbox Code Playgroud)
client_credential 授予类型 + JWT 承载有效,但我从未获得刷新令牌(仅访问令牌)。即使经过令牌验证,我也从未获得刷新令牌。
编辑:由于刷新对我不起作用,正如建议的那样,我尝试设置令牌过期时间
new OAuth2\Server($this->_mem, array('use_jwt_access_tokens' => true, 'access_lifetime' => 12000));
Run Code Online (Sandbox Code Playgroud)
对客户端凭据的响应仍然返回一个短令牌
{ ["access_token"]=> string(648) "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpZCI6ImU0NjE0MzdhMjY2YjFkNWY0OWU5MDY5MjQwODg5NjU0MDI2ZGRmODAiLCJpc3MiOiIiLCJhdWQiOiI4OWM2MjRmNTNiYTVmOTM3NjFmZWFhNmU1MGI1ZDk1NGQ4ZGRjMTIxIiwic3ViIjpudWxsLCJleHAiOjE0MzQ0NjI2NDIsImlhdCI6MTQzNDQ1OTA0MiwidG9rZW5fdHlwZSI6ImJlYXJlciIsInNjb3BlIjoicHVibGljIHJlYWRfbmV3cyJ9.Mk_KyUk_8yPnq9eEjvgVOJXBOkQSifAPbEaUvY4X9WvfmImPnC7PJx_99ODpiJR_gMLhZ3gBl1gQEJ2z6xUZ83dntCYzGWumkVLNpJG8omuVkmZqNnbLYYXl-vzmGOblceeDrKw_lrXc4rb72BeFaMeZWwFV7YMrgA0LOsYyZmAiDblcbHtpPGpUd2EC3y7VxLnyA8u07eY4aswOHwClPlDwHX_HwfMUmDLWkoTcrRf1AvKn-cnj41eL0SU9AJHWab8AOK7lxDsaqnits5pXj--cG9hr8pWOsFPQ2D9qYOsMvbEOi4zDJEdaIp-qvzn6N5Wrm5GxdbU1AqwvM531hQ" ["expires_in"]=> int(3600) ["token_type"]=> string(6) "bearer" ["scope"]=> string(16) "public" }
Run Code Online (Sandbox Code Playgroud)
看来这是一个缓存问题,令牌现在设置为正确的过期长度/时间
我在端口 8081 上运行 SSL 套接字。虽然这与 Apache2.4 完美配合,但在 IIS 上一段时间后,socket.io 因 ECONNRESET 崩溃,而 Apache 从未发生过这种情况。我的 socket.io 版本是 1.3.7。IIS 是 v10(Windows Server 2016)。
我已经按照建议添加了一些错误处理,但它并没有解决问题。这是一个经过消毒的代码。
var options = {
key: fs.readFileSync('example.key'),
cert: fs.readFileSync('example.cert'),
ca: fs.readFileSync('example.inter')
};
var app = require('https').createServer(options),
io = require('socket.io').listen(app);
io.set('origins', '*:8081');
app.on('error', function(error){
console.log('error', error);
});
app.listen(8081);
io.sockets.on('connection', function(__socket) {
__socket.on('error', function(){
__socket.destroy();
});
__socket.on('disconnect', function(){
__socket.destroy();
});
}
Run Code Online (Sandbox Code Playgroud)
我读到你可以通过添加密码来解决这个问题
ciphers: 'DES-CBC3-SHA'
Run Code Online (Sandbox Code Playgroud)
但我不知道它与我的代码有多相关,甚至不知道把它放在哪里!
这是错误的详细信息
{ Error: socket hang up
at createHangUpError (_http_client.js:253:15)
at Socket.socketCloseListener (_http_client.js:285:23)
at emitOne (events.js:101:20) …Run Code Online (Sandbox Code Playgroud) 我刚刚将我的 Xcode 更新到版本 10.0 (10A255),它也在我的 MacBook 上运行。之后我使用了命令
sudo ionic cordova build ios --emulator --prod
Run Code Online (Sandbox Code Playgroud)
然后它开始正常构建,但构建似乎永远不会结束,因为此过程永远不会返回“构建失败”或“构建成功”。它显然突然结束,这是终端中的输出:
Running app-scripts build: --prod --platform ios --target cordova
[16:09:56] build prod started ...
[16:09:56] clean started ...
[16:09:56] clean finished in 3 ms
[16:09:56] copy started ...
[16:09:57] deeplinks started ...
[16:09:58] deeplinks finished in 1.52 s
[16:09:58] ngc started ...
[16:10:27] ngc finished in 28.76 s
[16:10:27] preprocess started ...
[16:10:27] preprocess finished in less than 1 ms
[16:10:27] webpack started ...
[16:10:27] copy …Run Code Online (Sandbox Code Playgroud) 我使用搜索google.maps.places.PlacesService(map),然后在地图上放置标记,这很好.我每次发生"dragend"事件时都会这样做.
但是,每次,它都会在地图的右侧添加"按黄页列出".因此,如果我滚动3次,我会得到3"按黄页列出".我该如何删除?
我面临的问题是,在我将div(每个div一个)中的一堆图像附加到容器(div)之后,我没有获得onload函数.
这是一个包含一堆变量的循环
$('#container').append('<div class="tile" style="position:absolute; top:'+(i*size)+'px; left:'+(j*size)+'px; width:'+size+'px; height:'+size+'px; overflow:hidden;" ><img src="'+map[i][j]+'"/></div>');
Run Code Online (Sandbox Code Playgroud)
所有变量都很好,所有图像都正确加载,但这从不起作用
$('.tile img').live('load', function(){
console.log("loaded");
});
Run Code Online (Sandbox Code Playgroud)
要么
$('.tile img').on('load', function(event){
console.log("loaded");
});
Run Code Online (Sandbox Code Playgroud)
我试过更新的.on jQuery函数,没有去..
编辑:[+]添加.on代码(文档准备好后,两个函数都放在右上角)
我正在尝试删除与"标准"字符不匹配的字符串中的所有内容.以下是我到目前为止的情况:
var result = myString.replace(/^(?![A-Za-z0-9]+)/g, '');
Run Code Online (Sandbox Code Playgroud)
哪个不起作用.有人能指出我做得对吗?
我目前通过exec()使用curl的安装版本,而不是使用curl_exec()来查询API(linkedin)。我的通话返回了很好的结果,但编码方式很奇怪,无法将其转换回json。
这是我的代码:
exec('curl "'.$url.'/v1/people/~?format=json" -H "Authorization: Bearer '.$token.'"', $data);
Run Code Online (Sandbox Code Playgroud)
我得到的响应是(我用xxxx替换了敏感数据):
array(7){[0] =>字符串(1)“ {” [1] =>字符串(22)“”名字“:” xxxx“,” [2] =>字符串(67)“”标题“: “ xxxx;”,“ [3] =>字符串(21)”“ id”:“ xxxx”,“ [4] =>字符串(24)”“ lastName”:“ xxxx”,“ [5] =>字符串(148)“” siteStandardProfileRequest“:{” url“:” https://www.linkedin.com/profile/view?id=xxxx&authType=name&authToken=xxxx&trk=api xxxx xxxx *“}” [6] =>字符串( 1)“}”}
我已经尝试过了,json_encode(json_decode($data))但是它什么都没有改变...如何将输出转换为JSON对象?
我有这个正则表达式
var reg = new RegExp('["\\>]{1}\\$([^"\\<\\> ]*)["\\<]{1}', 'g');
Run Code Online (Sandbox Code Playgroud)
我在这个字符串上运行
'<span>$name</span><img src="$images[0].src"><img src="$images[1].src"><img src="$images[2].src">'
Run Code Online (Sandbox Code Playgroud)
如果我在像RegExr这样的网站上测试它,它可以正常工作,但如果我在FireFox中测试它
var reg = new RegExp('["\\>]{1}\\$([^"\\<\\> ]*)["\\<]{1}', 'g');
var match = reg.exec('<span>$name</span><img src="$images[0].src"><img src="$images[1].src"><img src="$images[2].src">');
console.log(match);Run Code Online (Sandbox Code Playgroud)
它只匹配">$name<".如何在网站上捕获所有内容?
这不是重复的.我不使用查询字符串,除了它在网站上工作.
我将Cordova v8与android v7结合使用,我可以构建调试版本,而不会出现问题,但现在发布版本中断了。我试图删除/添加android,重新创建项目,但没有执行任何操作。我正在使用build.json,它过去可以完美地工作,并且可以
cordova build android --release
Run Code Online (Sandbox Code Playgroud)
这是错误
FAILURE: Build failed with an exception.
* Where:
Script
'D:\myapp\platforms\android\CordovaLib\cordova.gradle' line: 147
* What went wrong:
Failed to create component for 'dialog' reason: java.awt.HeadlessException
> java.awt.HeadlessException (no error message)
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题???我已经尝试过这种解决方案,但没有成功...
我正在尝试使用单个JSON文件来验证前端(JS)和后端(PHP)的数据.我无法弄清楚如何在json字符串中使用我的模式,PHP不会转换它.这是我想要使用的(电子邮件验证):
'{"name":"email", "pattern":"^[a-z0-9]+(\.[_a-z0-9]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,15})$"}'
Run Code Online (Sandbox Code Playgroud)
我想模式中的某些内容不会被视为字符串?实际上,它不会转换为PHP中的对象.我不应该逃避任何事情,但我可能错了......
谢谢
编辑:按照评论中的建议尝试:
json_decode('{"name":"email", "pattern":"^[a-z0-9]+(\\.[_a-z0-9]+)*@[a-z0-9-]+(\\.[a-z0-9-]+)*(\\.[a-z]{2,15})$"}??'); ==> NULL
Run Code Online (Sandbox Code Playgroud)