0

openID

openIDで認証システムをつくることになったんで少し調べてみた。
ある程度理解できたのでメモにしてみる。

引用もなしにopenIDを自分なりに説明すると
URLがログインIDになる。
IDとパスワードの認証はOpenIDを発行するプロバイダがやってくれる。

なので、わざわざログインが必要なサイトに会員登録する手間が省け、ID一つでいろんなサイトを利用できるというわけです。

なるほど、URLは一人一つもてるし、重複がない。

このプロバイダとは現在だと

  • ライブドア
  • ヤフー
  • openID.ne.jp

などがあります。
ユーザーに唯一無二のID(URL)を提供できる媒体です。

自分で立ち上げたブログなどもID(URL)として扱うことができるけど、それもこれらのプロバイダーを介して行われます。

開発者の立場としてopenIDを利用するメリットとしては、

  • 開発にかけるコストが低くなる。
  • 個人情報を保持しなくてよい。

逆にデメリットとしては、

  • メールアドレスが取得できない。
  • ユーザーを特定できない。

で、openIDもバージョンがあって1.1と2.0があります。
メインストリームは1.1
ただ今年になってヤフーが2.0に対応したりで、以前のRSS状態になりつつあります。
2.0はURIでなくXMLでの対応が可能らしい。

でヤフーからパクッた用語集。
OpenID Provider(OP)
OpenIDを発行するプロバイダ(例:Yahoo! JAPAN)

Relying Party(RP)
OpenIDによる認証を受け入れるウェブサイト(Haruとかコミュニティ)

End User
OpenIDの利用者(ログインする人)

疑問
URLはメールアドレスでは無理なのか?そんな規格があってもいいんじゃない?
ライブドアとかJugemの認証APIってopenIDではないの?

0

jqueryのeach

使いそうで使ってなかったjqueyのeach関数。
下記のようにDOMをループしてリンク先を全て変更したい時等に使います。

<ul class="clearfix">
<li><a href="link1.html">リンク1</a></li>
<li><a href="link2.html">リンク2</a></li>
<li><a href="link3.html">リンク3</a></li>
<li><a href="link4.html">リンク4</a></li>
<li><a href="link5.html">リンク5</a></li>
</ul>

$(document).ready(function(){
j$("ul li a").each(function(i){
var url = j$(this).attr('href');
url = url + '\?ref=blog';
j$(this).attr('href', url);
});
});

するとページがロードされるとこんな感じに代わります。
<ul class="clearfix">
<li><a href="link1.html?ref=blog">リンク1</a></li>
<li><a href="link2.html?ref=blog">リンク2</a></li>
<li><a href="link3.html?ref=blog">リンク3</a></li>
<li><a href="link4.html?ref=blog">リンク4</a></li>
<li><a href="link5.html?ref=blog">リンク5</a></li>
</ul>

実際jsでリンクを変更って余り使わないだろうけど、classを変更したい時はテキストを変更したい時に使えます。

jsでインターフェイスの幅が広がったと思うけど、本当のユーザビリティーってなんだろうと思う。
「直感」で分かるインターフェイスはもちろん重要。
しかし、

  • ユーザーは「次へ」をクリックするとページ遷移することに慣れてしてまってる。
  • 開発者はユーザービリティを考慮してページ遷移させずにajaxで次ページを表示する。
    で、ブラウザの戻るをクリックするとユーザーが望んでるページに戻らない。

開発者や制作会社なんかは後者を意識しがちだけど、ユーザーの慣れとか体験っていうのを無視してしまうのは、本来のユーザビリティっての無視してる気がする。
後進的と言われようと、そこは重要なところ。

0

CTU

別にドラマ24の話ではありません。
最近引越しをし、フレッツ光(西日本)を導入しました。
以前使ってたサーバーをそのまま設置したところどうも外部から接続できない。
で、調べたところCTUに問題があったみたいです。
CTUは光プレミアムの接続に使うルータです。
そうCTUはルータなんです。そうとは知らずに完全にTAみたいものと思い込んで、CTUがあるのにバッファローのルーターも設置し、外部から接続できず手をこまねいてました。

CTUのポートを空ける、linuxのIPを変更する。
この2点の変更が必要になります。
CTUは、色んなサイトを参考に完了。

サーバー(linux/apache)は下記のような感じでIPを変更。
CTUはデフォルトでは192.168.24.*なのに対してバッファローは192.168.11.*です。
以前は192.168.11.10だったものを今回はサーバーのアドレスを192.168.24.40にします。
ネットワーク関連の変更は、GUIで操作できる/usr/sbin/netconfigが便利です。
私の環境では下記の設定です。

IP アドレス:192.168.24.40
ネットマスク:255.255.255.0
デフォルトゲートウェイ (IP):192.168.24.1
1番目のネームサーバ: 192.168.24.1

networkを再起動
/etc/rc.d/init.d/network restart