2.5.個人認証について

2008-03-10 テーマ:APIドキュメント
本人性の確認が必要なAPIの操作を行う場合は、アメばたシステムの個人認証を通過する必要があります。
アメばたでは、WSSE認証により、本人性の確認を行います。

WSSE認証では、URIへのリクエストの際に
HTTPのリクエストヘッダ中に「X-WSSE」ヘッダを付与することで
リクエスト元のアイデンティティ情報を送信します。

X-WSSEのフォーマットは以下のようになります。(※改行は含まれません。すべて一行で記載)
X-WSSE: UsernameToken Username="xxxxxxxxxx", PasswordDigest="xxxxxxxxxxxxxxxxxxxxx", Nonce="xxxxxxxxxx", Created="xxxxxxxxxx"
Username:
アメーバID
Nonce:
セキュリティトークン
Created:
セキュリティトークンが作成された日時。フォーマットはW3CDTFに準拠。
例:2008-05-16T07:36:15Z
PasswordDigest:
アメーバIDに対応したパスワードを、MD5によりハッシュ化した値と
nonceの値と
作成日の文字列を連結し
それらの文字列をSHA1によりハッシュ化した値をBase64エンコードした値になります。
以下に、アメばた会議におけるX-WSSEヘッダの生成方法について
擬似コードにて例示します。
String username = amebaId; //アメーバID
String password = md5(plainPassword); //平文のパスワードをMD5アルゴリズムでハッシュ化
String created = created();//セキュリティトークン作成日。フォーマットはW3CDTFに準拠
String noce = nonce();//セキュリティトークン。Base64エンコードされている
String passwordDigest = Base64.encode(sha1(Base64.decode(nonce) . created . password)) ;

String xwsseHeader = "UsernameToken Username=\"" + username + "\" , PasswordDigest=\"" + passwordDigest + "\" ,Nonce=\"" + nonce + "\" ,Created=\"" + created + "\";

request.addHeader("X-WSSE", xwsseHeader);


Amebaおすすめキーワード