小编Cra*_*ons的帖子

AWS Cognito - 无效的刷新令牌

我正在使用Amazon Cognito服务和amazon-cognito-identity-js库,并且在刷新用户令牌时遇到问题,即id令牌.

当尝试通过发出未经身份验证的initiateAuth请求来刷新用户令牌时,我会收到400 http状态作为响应,以及"无效刷新令牌"错误消息.

POST https://cognito-idp.us-east-1.amazonaws.com/ 400(错误请求)

未捕获的错误:无效的刷新令牌.

为什么它认为我传递了无效的刷新令牌?

// the refresh token
var reToken;

// pool config
var poolData = {
    UserPoolId : 'us-east-1_XXXXXXXXX',
    ClientId : 'XXXXXXXXXXXXXXXXXXXXXXXXXX'
};

// connect to user pool and 
// find the current user
var CognitoUserPool = AmazonCognitoIdentity.CognitoUserPool;
var userPool = new AWSCognito.CognitoIdentityServiceProvider.CognitoUserPool(poolData);
var cognitoUser = userPool.getCurrentUser();

// if we found a user
if (cognitoUser != null)
{
    // get active user session
    cognitoUser.getSession(function(err, session)
    {
        // catch …
Run Code Online (Sandbox Code Playgroud)

javascript amazon-web-services amazon-cognito

7
推荐指数
1
解决办法
3096
查看次数

ESLINT:防止使用双感叹号 (!!)

eslint --fix阻止 eslint(使用时)更改所需的规则和配置是什么:

return regex.test(foo) ? true : false
Run Code Online (Sandbox Code Playgroud)

进入这个:

return !!regex.test(foo)
Run Code Online (Sandbox Code Playgroud)

虽然我理解这条规则的作用,但我不喜欢它。我认为它可能是其中之一 - 然而,它要么不是,要么我只是无法理解如何正确配置它们。

return regex.test(foo) ? true : false
Run Code Online (Sandbox Code Playgroud)

javascript eslint eslintrc

7
推荐指数
1
解决办法
2664
查看次数

Chrome 73中禁止了CORB OPTIONS请求

看来,在最近的Chrome版本中(或至少在最近对我的API的调用时-直到今天才看到它),Google都发出有关CORB请求被阻止的警告。

跨域读取阻止(CORB)阻止了MIME类型为text / plain的跨域响应[域]。有关更多详细信息,请参见https://www.chromestatus.com/feature/5629709824032768

我确定对我的API的请求成功,并且是操作前OPTIONS请求在控制台中触发了警告。

正在调用API的应用程序并未明确提出OPTIONS请求,而是我已经了解到,这是在发出跨域请求时由浏览器强制执行的,并由浏览器自动完成。

我可以确认OPTIONS请求响应未定义mime类型。但是,我有些困惑,因为据我所知,OPTIONS响应只是标头,不包含正文。我不明白为什么这样的请求需要定义mime类型。

在此处输入图片说明

此外,控制台警告指出请求已被阻止;但是各种POST和GET请求都成功了。如此看来,OPTIONS请求实际上并未被阻止?

在此处输入图片说明

这是一个三部分的问题:

  1. 没有正文响应时,为什么OPTIONS请求需要定义mime类型?
  2. 如果不适合使用纯文本/纯文本,那么对于OPTIONS请求,MIME类型应该是什么?我会认为application / json是正确的吗?
  3. 如何配置我的Apache2服务器以包括所有飞行前OPTIONS请求的mime类型?

google-chrome apache2 cors cross-origin-read-blocking

6
推荐指数
1
解决办法
1249
查看次数

ImageMagick 白色到透明背景,同时保持白色对象

我正在使用 PHP 的ImageMagick将图像的白色背景变为透明。我将图像 URL 传递给这个 PHP 脚本,它返回图像。

<?php

# grab the remote image url
$imgUrl = $_GET['img'];

# create new ImageMagick object
$im = new Imagick($imgUrl);

# remove extra white space
$im->clipImage(0);

# convert white background to transparent
$im->paintTransparentImage($im->getImageBackgroundColor(), 0, 3000);

# resize image --- passing 0 as width invokes proportional scaling
$im->resizeImage(0, 200, Imagick::FILTER_LANCZOS, 1);

# set resulting image format as png
$im->setImageFormat('png');

# set header type as PNG image
header('Content-Type: image/png');

# output the new image …
Run Code Online (Sandbox Code Playgroud)

php imagemagick

3
推荐指数
1
解决办法
5331
查看次数

跨 Azure Cosmos 中的多个集合查询记录

是否可以使用 SQL Rest API 跨 Azure Cosmos 中的多个集合查询记录?

我会注意到我使用的是jupitern/cosmosdb,它只是 SQL Rest API 的一个方便的包装器。我在微软网站上找不到任何表明这是可能的文档,但我希望社区中的某个人可能有不同的了解。

我觉得我在这里唯一的课程是一次查询一个集合,并根据查询文档文档演示 URI 需要特定集合 ID 作为参数这一事实,在我这边编译结果:

https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs

以下是我当前如何使用该包装器库查询 Cosmos 的示例:

# connect to cosmos
$conn = new Cosmos(AZURE_COSMOS_HOST, AZURE_COSMOS_KEY);
$conn->setHttpClientOptions(['verify' => false]);
$db = $conn->selectDB("Example");
$coll = $db->selectCollection("Test");

# query records
try {
    $res = Query::instance()
        ->setCollection($coll)
        ->select("*")
        ->findAll()
        ->toArray();

} catch (Exception $e) {
    return $response->withJson($e->getMessage());
}
Run Code Online (Sandbox Code Playgroud)

php azure cosmos

1
推荐指数
1
解决办法
2872
查看次数