最初、前任者が livedoorへの投稿で使ってたやり方を踏襲して、
$nonce = pack('H*', sha1(md5(time().rand().uniqid())));
$created = date('Y-m-d\TH:i:s\Z');
$digest = base64_encode(pack('H*', sha1($nonce . $created . strtolower(md5($password)))));
$wsse_text = 'UsernameToken Username="%s", PasswordDigest="%s", Nonce="%s", Created="%s"';
$wsse_header = sprintf($wsse_text, $username, $digest, base64_encode($nonce), $created);
ってやってた。そしたら全然401エラーから先に進まないの。
参考になるサイトみても、理論上間違ってないし、これで通らない理由がわからん。
で、ふと気付いて。
$nonceの値、なんでこんなややこしいやり方で作ってんの?
どうにも不可思議だったので、極力シンプルに、
$nonce = sha1(md5(time()));にしてみた。
・・・・・・・・・・・・ 認証通った。
なんじゃそりゃーーーー!!!!!
つわけで、今は記事投稿したら 403になるエラーに遭遇してハマっております。
困ったもんだ。
0 件のコメント:
コメントを投稿