Authen failed是什么情况造成的?

error
崩溃
标签: #<Tag:0x00007fb84752f6a0> #<Tag:0x00007fb84752f240>

(萌新一枚) #1

推送报错 Authen failed。
这是我的权鉴:
$base64=base64_encode(“C(‘JPUSH.APP_KEY’):C(‘JPUSH.MASTER_SECRET’)”);
$header=array(“Authorization:Basic $base64”,“Content-Type:application/json”);

curl_setopt($ch,CURLOPT_HTTPHEADER,$header);

最后报Authen failed,1004错误


#2

检查 AppKey 和密码,参考 1008 错误,差不多的检查方式


(萌新一枚) #3

您好,我仔细看了一遍,AppKey 和Master Secret我都是在应用详情里直接复制的,就是您图上的位置。AppKey 和Master Secret也没有传反,对应的应用也没有删除,前后也并没有多空格。
还有没有可能是其他错误呢
图片如下:


#4

https://docs.jiguang.cn/jpush/server/push/server_overview/#_1

那看下这个示例


(萌新一枚) #5

这是我的鉴权:

 $base64=base64_encode("C('JPUSH.APP_KEY'):C('JPUSH.MASTER_SECRET')");

C(‘JPUSH.APP_KEY’)指的的AppKey
C(‘JPUSH.MASTER_SECRET’)指的是Master Secret

curl发送的头部

 $header=array("Authorization:Basic $base64","Content-Type:application/json");

 curl_setopt($ch,CURLOPT_HTTPHEADER,$header);

#6

请按照 php curl 的文档操作

http://php.net/manual/zh/function.curl-setopt.php

用法可以参考官方的做法


(萌新一枚) #7

谢谢你,我把我自己写的权鉴都删了,发现可以发送了,真是尴尬。但是问题又来了,如果删了的话,那我并没有写权鉴,为何它可以成功呢?还有图中 的$client->getAuthStr()在哪个文件里?没找到


#8

你能否点进那个链接里面看看呢


(萌新一枚) #9

提示我不存在这个方法。你们的权鉴写在哪里了?在哪个控制器里


#10

这个是包,是类库, 不存在控制器

我发的两个链接可以解决你的所有问题。

另外你使用官方的 server sdk(也就是我上面发的第二个 github 的链接) 的话是不会存在这个问题的


(萌新一枚) #11

谢谢你,我找到了,是我看的不认真,抱歉。