小编jel*_*han的帖子

Laravel Passport密码授予 - 客户端身份验证失败

在听了很多关于laravel护照之后,我想到将它实现到我的新项目中,我的要求是创建一个将在移动应用中使用的API.

所以我的移动应用程序是一个client,它将进一步拥有其用户.

我按照泰勒提到的步骤进行了阅读,并在此处阅读了相关内容.简而言之,我遵循了以下步骤:

  1. 已安装laravel/passport.
  2. 创建了一个网站用户.
  3. 生成的护照钥匙 php artisan passport:install
  4. 生成client_idclient_secret使用php artisan passport:client
  5. 添加redirectioncallback路由web.php
  6. 授权用户并获得最终访问令牌.

然后我尝试调用api/user(包含Header Authorization包含值Bearer eyJ0eXAiOiJKV1...(token)

我收到了数据.非常简单而整洁.

但我的应用用户将不会有这些详细信息.所以我想到配置密码授予令牌,完全符合我的要求.

现在开始真正的头痛.我一直试图在过去3天内设置这个并不断获得

{"error":"invalid_client","message":"Client authentication failed"}
Run Code Online (Sandbox Code Playgroud)

我几乎尝试了我在网上关注的所有指南:重定向问题,添加Atleast One Scope解决方案,P100Y问题等.

但我仍然得到invalid client错误.这是我通过POSTMAN传递给的oauth/token:

{
    "grant_type": "password,"
    "client_id": "3,"
    "client_secret": "8BUPCSyYEdsgtZFnD6bFG6eg7MKuuKJHLsdW0k6g,"
    "username": "test@gmail.com,"
    "password": "123456,"
    "scope": ""
}
Run Code Online (Sandbox Code Playgroud)

任何帮助,将不胜感激.

php oauth laravel laravel-5.3

23
推荐指数
3
解决办法
3万
查看次数

在mysql 5.1中选择unicode字符u2028

我试图在MySQL 5.1中选择unicdode character/u2028.MySQL 5.1确实支持utf8和ucs2.

在较新版本的MySQL中,我可以选择char只是使用utf16或utf32排序规则:

SELECT char(0x2028 using utf16);
SELECT char(0x00002028 using utf32);
Run Code Online (Sandbox Code Playgroud)

但MySQL 5.1不支持utf16和utf32.我怎么能选择unicode字符呢?

也许关于我的用例的几句话:我有一个第三方应用程序,它将数据存储在mysql数据库中,并使用JavaScript作为用户界面.该应用程序不处理问题unicode字符/ u2028和/ u2029是有效的JSON但会破坏JavaScript代码.(有关详细信息,请参阅http://timelessrepo.com/json-isnt-a-javascript-subset)所以我想知道有多少数据受到该问题的影响,并且可能使用MySQL上的替换来修复它.


为了证明这个问题:

CREATE TABLE IF NOT EXISTS `test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `string` varchar(100) CHARACTER SET utf8 NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;

INSERT INTO `test` (`id`, `string`) VALUES
(1, 'without U+2028'),
(2, 'with U+2028 at this "?    "point');

SELECT * FROM test WHERE string LIKE CONCAT("%", char(0x2028 using utf16), "%");
// returns row …
Run Code Online (Sandbox Code Playgroud)

mysql unicode utf-8

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

在Node.js中向JSON API发出GET请求?

想知道如何使用Node.js向JSON API发出GET请求.我最好想使用Express但是没有必要,并且输出是在Jade页面上.我仍然是Node.js和后端语言的新手.

api get node.js

9
推荐指数
2
解决办法
3万
查看次数

通过App上传时,JSON API Wordpress无法显示特色图像

我正面临一些未知的问题与wordpress特色图像.当我从网站更新精选图片时; 它通过json显示在应用程序中.

http://indiafastener.com/api/?json=get_post&post_type=listing-item&id=1377

然而,当我通过json上传图像到wordpress db; 图像字段中的输出为NULL.

http://indiafastener.com/api/?json=get_post&post_type=listing-item&id=1380

当我看到db; 它有图像路径,路径不会导致404.

图片路径: http ://www.indiafastener.com/webservices/listing/uploads/2017-04-01_12-01-40IMG-20150715-WA0004.jpg

可能是因为wp-content/uploads/2016/02/文件夹中没有图像吗?

用于上传图片的代码

require_once('../../wp-config.php');
require_once('../../wp-admin/includes/image.php');
$dirname = "../../wp-content/uploads/2017/01/";
$filename = $_FILES["file"]["name"];

$attachment = array(
    'post_mime_type' => 'image/jpeg',
    'post_title' => preg_replace('/\.[^.]+$/', '', basename($filename)),
    'post_content' => '',
    'post_status' => 'inherit',
    'guid' => $dirname.basename($filename)
//'wp-content/uploads/2017/01/' . basename($filename)
);
$your_post_id  = 1392;
$attach_id = wp_insert_attachment( $attachment, $filename,'$your_post_id' );
$attach_data = wp_generate_attachment_metadata( $attach_id, $filename );
wp_update_attachment_metadata( $attach_id, $attach_data );
//$id=1385;
update_post_meta($id, '_thumbnail_id', $attach_id);
echo "success";
Run Code Online (Sandbox Code Playgroud)

任何有关这方面的帮助将受到高度赞赏.

截图

通过app上传的图片的DB post_type附件 在此输入图像描述

DB Post链接到图像ID …

wordpress json

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

在 ember-auto-import 中启用 Babel 插件以转译导入的库

我想将一些实用程序函数和类从我的 Ember 应用程序移动到一个单独的 NPM 库中,并使用ember-auto-import. 我不想在发布之前转换库代码,而是以创作格式发布。这应该不是问题,因为ember-auto-import在构建时根据应用程序的配置自动转换代码。

但是这段代码是实验性的装饰器功能,就像现在许多 Ember 代码一样。使用的 Babelember-auto-import抛出该decorators-legacy功能未启用的错误:

当前未启用对实验性语法“decorators-legacy”的支持

如何在配置中启用它ember-auto-import?我只在ember-auto-import的文档中看到禁用每个依赖项的转译和自定义 webpack 配置的选项。我对 Webpack 没有太多经验。babel 是通过 webpack 配置控制的吗?


我只是注意到,如果我使用link协议引用对本地文件系统的依赖,我会得到同样的错误。如果我使用file协议,我看不到错误。我正在使用纱线。通过node_modules在引用的插件中删除和安装依赖项解决了这个问题。

ember.js babeljs

8
推荐指数
0
解决办法
189
查看次数

mySQL:索引表上的utf8字符集和重复键错误

当使用utf8中编码的varchar字段作为主键时,我曾期望mySQL有一种奇怪的行为.对于在我的开发环境中不相等的字符串,它会出现重复键错误.

一个简短的例子:

SET NAMES 'utf8';

CREATE TABLE `test` (
  `id` varchar(5) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

INSERT INTO `test` (`id`) VALUES ('das'), ('daß');
Run Code Online (Sandbox Code Playgroud)

失败错误: Duplicate entry 'daß' for key 'PRIMARY'.

我使用默认配置在ubuntu 13.10上运行mySQL 5.5.35.

在另一个mySQL Server(版本5.0.95)上,相同的查询没有失败.这是因为mySQL版本还是有配置选项来设置索引表的编码?

我在尝试将mySQL转储从生产服务器导入我的开发环境时遇到了这个问题.

mysql utf-8

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

在Leaflet中使用多个切片图层时,避免加载不可见的切片

我正在使用带有两个图块层的Leaflet.第一个,我将其称为地下室瓷砖层,为整个世界提供瓷砖.第二个覆盖在由弹跳选项定义的特定区域中的地下室图块层.我将这称为覆盖瓦片层.在代码中,这看起来像如下:

var map = L.map('map');

// OpenstreetMap tile layer as basement
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
  attribution: '&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);

// overlaying tile layer for specific region defined by bounds
L.tileLayer('http://{s}.examples.com/overlay/{z}/{x}/{y}.png', {
  bounds: L.latLngBounds(L.latLng(59.321966, 18.05943), L.latLng(59.328469, 18.076167));
}).addTo(map);
Run Code Online (Sandbox Code Playgroud)

重叠的图块层不透明.因此,对于边界区域,仅覆盖的图块层的图块是可见的.不需要由地下室瓷砖层提供的瓷砖.但我没有找到防止Leaflet装载这些不必要的瓷砖的方法.任何暗示我都会很高兴.

我想过使用tile事件来中断不需要的tile的加载.但据记录的tile事件无法操纵tile加载.

这是一个展示行为的JSFiddle.如你所见,例如,瓷砖14/4825/6155.png是从openstreetmap.org加载的,所以它是不可见的.

在我的用例中,另一种想法使它更复杂:覆盖地图具有严格的边界,因为它是由历史地图表生成的.因此,瓷砖在覆盖地图的边界处是透明的.在这些区域中,必须加载地下室地图的图块.

leaflet

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

如何让 Jenkins lastBuild API 与多分支管道一起工作?

过去,我从 Jenkins 获取最后的构建详细信息没有任何问题,但我遇到了一个配置奇怪的企业环境,其中 API url 的结构如下:

\n\n
https://example.com/job/group-name/job/project-name/api/json\n
Run Code Online (Sandbox Code Playgroud)\n\n

我可以找到此层次结构中特定分支的最后一个构建:

\n\n
https://example.com/job/group-name/job/project-name/job/branch-name/lastBuild/api/json\n
Run Code Online (Sandbox Code Playgroud)\n\n

但是,到目前为止,如何获得项目的最后一个版本(无论分支如何)已经违背了我的所有努力。

\n\n

我可以告诉你,明显的(以及我尝试过的所有非明显的变体)确实是行不通的。例如,这是一个彻底的失败:

\n\n
https://example.com/job/group-name/job/project-name/lastBuild/api/json\n
Run Code Online (Sandbox Code Playgroud)\n\n

并返回“此页面无法正常工作example.com已将您重定向了太多次。”

\n\n

我猜测工作 URL 中 /job/ 的多个副本是不寻常结构的症状,因此如果有人有任何想法,我会洗耳恭听!

\n

jenkins multibranch-pipeline

6
推荐指数
0
解决办法
707
查看次数

如何在 Laravel 中测试同时使用 `Storage::put()` 和 `Storage::temporaryUrl()` 的路由?

我在 Laravel 7 中有一个路由,它将文件保存到 S3 磁盘并返回一个临时 URL。简化后的代码如下所示:

Storage::disk('s3')->put('image.jpg', $file);
return Storage::disk('s3')->temporaryUrl('image.jpg');
Run Code Online (Sandbox Code Playgroud)

我想为该路线编写一个测试。对于 Laravel,这通常很简单。我使用 模拟存储并Storage::fake('s3')使用 断言文件创建Storage::disk('s3')->assertExists('image.jpg')

假的存储不支持Storage::temporaryUrl()。如果尝试使用该方法,则会抛出以下错误:

此驱动程序不支持创建临时 URL。

一个常见的解决方法是使用 Laravel 的低级模拟 API,如下所示:

Storage::shouldReceive('temporaryUrl')
  ->once()
  ->andReturn('http://examples.com/a-temporary-url');
Run Code Online (Sandbox Code Playgroud)

LaraCasts线程和关于.Storage::fake()

有什么方法可以结合这两种方法来测试一条同时实现这两种方法的路线吗?

我想避免重新实现Storage::fake()。另外,我想避免在生产代码中添加检查,以便Storage::temporaryUrl()在环境正在测试时不调用。后一个是上面已经提到的LaraCasts 线程中提出的另一项工作。

mocking laravel flysystem

6
推荐指数
2
解决办法
2833
查看次数

远程服务器返回错误:“(405) Method Not Allowed”

在针对同一线程阅读不同的答案后,我尝试了他们讨论中提到的几乎所有选项,但是我仍然遇到错误:

错误 1The remote server returned an error: (404) Not Found.

错误二The remote server returned an error: (405) Method Not Allowed

下面是我的代码:

var httpWebRequest = (HttpWebRequest)WebRequest.Create("URL?Paramter1=pc&user=u1&password=p1");
httpWebRequest.ContentType = "application/json; charset=utf-8";
httpWebRequest.Method = "POST";
httpWebRequest.Accept = "application/json";
var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
Run Code Online (Sandbox Code Playgroud)

我在最后一行收到错误,即

var httpResponse = (HttpWebResponse)httpWebRequest.GetResponse();
Run Code Online (Sandbox Code Playgroud)

如果我使用,httpWebRequest.Method="GET"我会收到上面提到的错误号 1,如果我使用,httpWebRequest.Method="Post"我会收到错误号 2。

c#

5
推荐指数
1
解决办法
2万
查看次数