Archive for the ‘OpenID’ Category

 

mixi openid : RPからhttps://mixi.jp/へのSSL接続に失敗します。

7月 15th, 2011

http://developer.mixi.co.jp/openid/faq/
RPからhttps://mixi.jp/へのSSL接続に失敗します。どんな対策が必要ですか?
に従ってサーバーの証明書を更新します。
前もやったんだけど、メモってなかったのかな
http://insilico.jognote.com/blog/2008/08/13/curl-%E3%81%AB-https-%E3%81%A7%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%A7%E3%81%8D%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E8%A8%BC%E6%98%8E%E6%9B%B8%E3%82%92%E8%BF%BD%E5%8A%A0%E3%81%99%E3%82%8B/
あれ?入ってた。

Read full article | コメントは受け付けていません。

Open ID : associate type ASSOC_TYPE_HMAC_SHA1 これも

1月 23rd, 2011

ちょとこのversionと暗号化の組み合わせは何でしょう。
まぁライブラリが正解とは言えないので良いのです。
修正しました。やっとmixiでログイン成功~

if (OpenID::$versionMap[$version] == OpenID::NS_2_0) {
$this->message->set(’openid.ns’, OpenID::NS_2_0);
if(preg_match(’/mixi.jp/’,$this->opEndpointURL)){
$this->message->set(’openid.assoc_type’, self::ASSOC_TYPE_HMAC_SHA1);
[...]

Read full article | コメントは受け付けていません。

OpenID : session_type DH_SHA1 or DH-SHA256 ? mixi.jpの罠 ?

1月 22nd, 2011

PearのOpenIDライブラリを使っているのですが、
mixi.jp の OpenIDを利用したところ以下のエラーが返された。
“Missing dh_server_public parameter in association response”
https://mixi.jp/openid_server.pl
データは取得出来ていたけど、dh_server_publicがかえってこなかった。。。
ようやく原因がわかりました。。。
session_typeには、
no-encryption
DH-SHA1
DH-SHA256
の3つがあるのですが、sslのときは、当然利用が必要です。
mixi.jpはhttps://につなぎに行くのですが
versionが
http://specs.openid.net/auth/2.0/server
のため
OpenID_Association_Request
のconstruct内で
versionから
session_type = DH-SHA256
と設定されました。
残念ながら mixi.jpはDH-SHA256では、
dh_server_public
enc_mac_key
が返されませんでした ; o ;
仕方ないのでmixiのときは、 DH_SHA1 にして無事認証完了^-^;

// Set defaults
$this->message->set(’openid.mode’, OpenID::MODE_ASSOCIATE);
if (OpenID::$versionMap[$version] == OpenID::NS_2_0) {
[...]

Read full article | コメントは受け付けていません。

Yahoo OpenID Attribute Exchange をPHPで利用してみる!

7月 26th, 2010

まずは↓この通りにopenidを使ってみてください。
http://techblog.yahoo.co.jp/web/openid/10yahooopenid_rp/
↓次に、こちらPHPじゃないですが、画面遷移は同じです!
Yahoo OpenID AX Attribute Exchange!
http://techblog.yahoo.co.jp/web/openid/openid_axyahoo/
でphpは何を変えるかというと
try_auth.php(リクエスト用を修正です!)

require_once “Auth/OpenID/AX.php”;

でAXも利用可能に。
さらに function run()内の

$auth_request = $consumer->begin($openid);

の下あたりに AXを追加!
画像とfriendlyをnicknameとしてとってみる。

$ax_request = new Auth_OpenID_AX_FetchRequest();
$ax_request->add(
Auth_OpenID_AX_AttrInfo::make(’http://axschema.org/media/image/default’,
1,true,’image’));
$ax_request->add(
Auth_OpenID_AX_AttrInfo::make(’http://axschema.org/namePerson/friendly’
,1,true,’nickname’));

で早速Yahooへログイン!同じく try_auth.phpからYahooへリダイレクトされる
finish_auth.phpへ返されるパラメータに

["openid_ax_value_image"]=> string(54) “https://s.yimg.jp/images/login/openid/img/01/pic90.gif”
["openid_ax_value_nickname"]=> string(12) “ヤフーのID”

の2つが入ってきます。
だいたい問題ないので、次はphpのセッションを少し修正してサービスへ導入します。

Read full article | コメントは受け付けていません。