Archive for the ‘services’ Category

 

gettextで他言語対応 | php

12月 11th, 2011

index.phpに以下のように

<?php echo _(’Here is top page.’); ?>

xgettext index.php –from-code=utf-8 -o messages.pot

# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE’S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR , YEAR.
#
#, fuzzy
msgid “”
msgstr “”
“Project-Id-Version: PACKAGE VERSION\n”
“Report-Msgid-Bugs-To: \n”
“POT-Creation-Date: 2011-12-11 18:13+0900\n”
“PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n”
“Last-Translator: FULL NAME \n”
“Language-Team: LANGUAGE \n”
“MIME-Version: 1.0\n”
“Content-Type: text/plain; [...]

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

mixiアプリ署名付きリクエスト認証のために OauthProvider を使ってみる | PHP

8月 26th, 2011

http://www.php.net/manual/en/class.oauthprovider.php
↓ここを見てやってみろと書いてあるので
・Writing an Oauth Provider Service
http://toys.lerdorf.com/archives/55-Writing-an-OAuth-Provider-Service.html
・Oauth Provier sample
http://svn.php.net/viewvc/pecl/oauth/trunk/examples
なんかできない気がしたので諦めた。
http://developer.mixi.co.jp/appli/spec/pc/require_servers/
一通りこちらのOauth.phpは読んだので、まねして、使うところだけ実装。
無事完了
・mixiからのリクエストのsignatureチェック
・mixiへのリクエストの作成。
やることはほとんど同じで。
基本機能はだいたいわかったので、明日は、インターフェイスのベース作成とデータ設計を。
来週中にはリリースできそう。でも次のツールも考えてるので。

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

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 | コメントは受け付けていません。

GData API with secure AuthSub

8月 1st, 2010

Authsub を secure=1 で
We have a certificate for your domain.
Upload new X.509 cert:
(Optional)

# Generate the RSA keys and certificate
openssl req -x509 -nodes -days 365 -newkey rsa:1024 -sha1 -subj \
‘/C=US/ST=CA/L=Mountain View/CN=www.example.com’ -keyout \
myrsakey.pem -out /tmp/myrsacert.pem
で生成した myrsacert.pem を登録して
zendのclient作成時に myrsakey.pem を設定してあげると警告が消えます!

$client = new Zend_Gdata_HttpClient();
// This sets your private key to be used to sign [...]

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 | コメントは受け付けていません。

Yahoo APIでOAuthを利用してみる 2

7月 20th, 2010

Yahooのウォッチリスト取得に成功しました!
appidは要らないみたいですね~。
http://www.php.net/manual/ja/oauth.examples.fireeagle.php
を参考にyahooで動くように変更してみました。
是非使ってみてください。

<?php
$req_url = ‘https://auth.login.yahoo.co.jp/oauth/v2/get_request_token’;
$callback_url = ‘このファイルのURLです!’;
$authurl = ‘https://auth.login.yahoo.co.jp/oauth/v2/request_auth’;
$acc_url = ‘https://auth.login.yahoo.co.jp/oauth/v2/get_token’;
$api_url = ‘http://auctions.yahooapis.jp/AuctionWebService/V2/closeWatchList’;

$conskey = ‘your_consumer_key’;// yahooで取得したconsumer key
$conssec = ‘your_consumer_secret’;// yahooで取得したconsumer secret

session_start();

// セッションの state の値が1の場合、次のリクエストには oauth_token の値が含まれているはずである
// やり直す時は stateを 0 にします。
if(!isset($_GET['oauth_token']) && $_SESSION['state']==1) $_SESSION['state'] = 0;
try {

// OAUTH_AUTH_TYPE_AUTHORIZATION に変更
// ヘッダーに Authorization: OAuth で送信します。

$oauth = new OAuth($conskey,$conssec,OAUTH_SIG_METHOD_HMACSHA1,OAUTH_AUTH_TYPE_AUTHORIZATION);
$oauth->enableDebug();
if(!isset($_GET['oauth_token']) && !$_SESSION['state']) {
// callback urlを指定。
[...]

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

php oauth-1.0.0 をインストール

7月 19th, 2010

http://php.net/manual/ja/book.oauth.php
http://pecl.php.net/package/oauth
#pecl install oauth-1.0.0

Build process completed successfully
Installing ‘/usr/lib/php/modules/oauth.so’
install ok: channel://pecl.php.net/oauth-1.0.0
configuration option “php_ini” is not set to php.ini location
You should add “extension=oauth.so” to php.ini
#vim /etc/php.d/oauth.ini
extension=oauth.so
#php -i
OAuth
OAuth support => enabled
PLAINTEXT support => not supported
RSA-SHA1 support => enabled
HMAC-SHA1 support => enabled
Request engine support => php_streams
source version => $Id: oauth.c 300018 2010-06-01 01:50:41Z datibbaw $
version => 1.0-dev
完了

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

Bid.lyで短縮URL

7月 10th, 2010

今さらですが、短縮URLをjsonpで取ってみました。
ApiDocumentation – bitly-api – bit.ly REST API method documentation – Project Hosting on Google Code.
http://bit.ly
でアカウントを作成してください。
ログインして以下のURLから
http://bit.ly/a/account
login
apiKey
を確認してご自身の情報を入れてください。
shortenで短縮します。scriptはこんな感じで。
<script type=”text/javascript”>
var Bitly = {
login: ‘ここにログインID’,
apiKey: ‘ここにAPIキーを’,
format: ‘json’,
shortenUrl: “http://api.bit.ly/v3/shorten”,
getUrl: function(){
}
shorten: function(longUrl) {
$.ajax({
type: “GET”,
[...]

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