OpenID�ƃZ�L�����e�B�\�\�o�H�̈��S�����ǂ��S�ۂ��邩�FZIGOROu��OpenID Short Clinic

OpenID�ɂ��񂷂邳�܂��܂ȋ^����������Ă����{�A�ځB����́AOpenID�ł͂ǂ̂悤�ȗ���ŔF�؎葱�����s���Ă���̂����������B

» 2008�N05��01�� 00��00�� ���J
[�R���O�CITmedia]

OpenID�ɂ‚��ď����—������Ă����‚���Ȃ̂ł����AOpenID���g���ɓ������ăZ�L�����e�B��̉ۑ����Ȃǂɂ‚��Ă܂��������\���łȂ��A�����S�z�ł��BOpenID�̃Z�L�����e�B�ɂ‚��Ă��̎d�g�݂̂ق��A���������΍�Ȃǂ�����΋����Ă��������B


���̘b��͂Ȃ��Ȃ�����b�ŁA���������������Ȃ肻���Ȃ̂ŕ�����ɂ킽���Ď�舵�������Ǝv���܂��B�����������ł��\��Ȃ����́A�킽�����ȑO��IT�ŏ�����OpenID �̃Z�L�����e�B�Ɋւ���L�����Q�l�ɂ��ĎQ�Ƃ��������B

OpenID�̃Z�L�����e�B������ōł��d�v�ȓ_

�@�܂�OpenID�F�؃v���g�R���Œ�`����Ă���Z�L�����e�B�Ɋ֘A����o��l�������炽�߂ĕ��K���܂��傤�B���ꂼ��̗p��̗������\���łȂ��Ƃ������̏ꍇ�́A�ߋ����uZIGOROu��OpenID Short Clinic�v�������Ɠǂ�ł����Ƃ悢�ł��傤�B

  • End User�i���p�ҁj
  • User-Agent�i���p�҂̃u���E�U�j
  • Relying Party�i�F�؈ˑ��T�C�g�FRP�j
  • OpenID Provider�iOpenID�F�؃v���o�C�_�[�FOP�j

�@OpenID�F�؃v���g�R���ł́A�F�؂ɂ܂‚�郁�b�Z�[�W�̂��������OP EndPoint URL�ƌĂ΂��OP��̃G���h�|�C���gURL�ɑ΂��čs���܂����A���̎�@�ɂ́uDirect Communication�v�uIndirect Communication�v�Ƃ���2�‚̃p�^�[��������܂��B

�@Direct Communication�Ƃ�RP��OP�Ԃŕ����ʂ�g���ځh�s���郁�b�Z�[�W�̂����ł��B

Direct Communication Direct Communication

�@����AIndirect Communication�Ƃ́A�܂�RP��User-Agent�ɑ΂���OP EndPoint URL�ւ�Location�w�b�_��ݒ肷�邱�Ƃ�User-Agent��OP�ɑJ�ڂ����܂��B�����܂ł����N�G�X�g�ł��B

�@���̃��N�G�X�g�ɑ΂���OP�̓��[�U�[�̔F�،��ʂ�Ԃ��̂ł����A���x��OP��User-Agent�ɑ΂���RP�ւ̃��_�C���N�g�v�����s���AUser-Agent��RP�ɑJ�ڂ����邱�Ƃɂ���ĕԂ���܂��B�Ȃ��A�ǂ��Ƀ��_�C���N�g�����邩�͔F�؃��N�G�X�g����openid.return_to�p�����[�^�Ŏw�肵�Ă����K�v������܂��B

Indirect Communication Indirect Communication

�@�����ł́AOP��RP�����ڃ��N�G�X�g�E���X�|���X�̎󂯓n�����s���̂�Direct Communication�A���[�U�[��Web�u���E�U����ă��N�G�X�g�E���X�|���X�̎󂯓n�����s���̂�Indirect Communication�ł���Ɗo���Ă����΂悢�ł��傤�B�Ȃ�2�‚̃p�^�[��������̂��ɂ‚��ẮAOpenID�̓��샂�[�h��Z�L�����e�B���f���ɂ��Ƃ��낪�傫���̂ł����A����͕ʂ̋@��ʼn���������Ǝv���܂��B

�@���Ȃ��Ƃ��AOpenID�ł͔F�؂ɂ܂‚�郁�b�Z�[�W�̂���������o�H����‚����݂��Ă��邱�Ƃ͂���������������Ǝv���܂��B�����āA���̌o�H�Ԃł̃v���g�R�����b�Z�[�W�̂���肱���� OpenID�̃Z�L�����e�B�Ɋւ���g�s�b�N�̂قڂ��ׂĂł���Ƃ����܂��B

�܂���SSL���g���܂��傤

�@���肪���Ȍ��_�ł͂���܂����A�܂���OP EndPoint URL�ɂ͐M������authority�ɂ��Certification�i�ؖ����j������SSL��p����̂��ł��ȒP�ŐM���������߂���@�ƂȂ�܂��B

�@SSL��p���邾����DNS�����Ȃǂ̕s���ȉ�����ɂ��U����@��h�~�ł��܂��B�܂�User-Agent�����Indirect Communication�͌o�H�������ł����A���̊Ԃ̒ʐM�����b�Z�[�W��SSL�ɂ��Í�������܂��̂ŁA�����S�ɂȂ�܂��B

���ҁF�R���@�O�i��܂��� �Ƃ���j

�T�C�{�E�Y�E���{�Ō����J���ɂ�������Perl�n�b�J�[�BPerl�𒆐S�Ƃ����J���̃m�E�n�E��l�^��Shibuya Perl Mongers�̃C�x���g�Ŕ��\����ȂǍu���������s���B�ŋ߂ł�OpenID�̎������@��l�@�Ȃǂ��u���O�uYet Another Hackadelic�v�Ȃǂŏ����A�˂Ă���B


Copyright © ITmedia, Inc. All Rights Reserved.

'; e_dlv.innerHTML = html; adRequest({position:dlv_pos,dom:true}); }else if(ad_type === 'gam'){ var html = '
'; e_dlv.innerHTML = html; refreshGam('InArtSpecialLink'); }else if(ad_type === 'logly'){ var html = '
'; e_dlv.innerHTML = html; loglySet(g_id); }else if(ad_type === 'google'){ var html = '
'; e_dlv.innerHTML = html; googletag.cmd.push(function(){ var slot8 = googletag.defineSlot('/43042345/nlab_artinsert_RT',[[336,280],[300,250],'fluid'],'div-gpt-ad-1551176482959-0').addService(googletag.pubads()); googletag.pubads().enableSingleRequest(); googletag.enableServices(); googletag.display('div-gpt-ad-1551176482959-0'); googletag.pubads().refresh([slot8]); }); } }; var insert_ok = function(_target,_str){ var clearfix = d.createElement('div'); clearfix.className = 'colBoxClear'; if(ad_float_fix){ e_body.insertBefore(e_dlv,_target); e_body.insertBefore(clearfix,_target.nextElementSibling); }else{ e_body.insertBefore(e_dlv,_target); } set_dlv(); }; var insert_ng = function(_str){ e_dlv.style.display = 'none'; }; var main = function(){ var e_nodes = e_body.childNodes; // BODY �����q�v�f var e_tags = []; // BODY �����^�O var p_num = []; // BODY ���� P �^�O�ʒu var p_target_num; // �g�}����ʒu var o_float = {}; // ��荞�ݗv�f var o_this = {}; // �A�N�e�B�u�^�O var o_next = {}; // �A�N�e�B�u�^�O�̎��̃^�O var flag_insert = 0; // �}���t���O // ��荞�ݗv�f�`�F�b�N var check_float = function(_e){ var e = 0; if(_e.id.match(/^col\d{3}(l|r)$/)){ e = _e; } return e; }; // �v�f�� Y ���W�ƍ����̍��v�l var get_element_y = function(_e){ var ey = 0; var eh = _e.offsetHeight; while(_e){ ey += _e.offsetTop; _e = _e.offsetParent; } return ey + eh; }; var check_ptag = function(_e){ var e = 0; if(_e.tagName && _e.tagName === 'P'){ e = _e; } return e; }; var try_insert = function(){ p_target_num = Math.floor(p_num.length / 2) - 1; if(p_target_num >= _maxrange) p_target_num = _maxrange; if(dis_con) p_target_num = 0; for(var i = p_num[p_target_num]; i < e_tags.length; i++){ o_this.e = check_ptag(e_tags[i]); if(o_this.e){ o_next.e = check_ptag(e_tags[i + 1]); if(o_next.e){ if(!o_float.e || check_float(e_tags[i - 1])){ o_float.e = check_float(e_tags[i - 1]); o_float.n = i - 1; } if(o_float.e && o_float.n < i + 1){ o_float.y = get_element_y(o_float.e); o_this.y = get_element_y(o_this.e); set_line(o_float.y,'red'); set_line(o_this.y,'blue'); if(o_float.y < o_this.y){ flag_insert = 1; insert_ok(o_next.e,_threshold + ' �p���ȏ��荞�݂���'); break; } }else{ flag_insert = 1; insert_ok(o_next.e,_threshold + ' �p���ȏ��荞�݂Ȃ�'); break; } } }else{ o_float = {}; } } if(!flag_insert){ insert_ng('�}���ʒu�Ȃ�'); } }; // �S�q�v�f����^�O�̂ݔz��ɓ���� for(var i = 0; i < e_nodes.length; i++){ if(e_nodes[i].tagName){ e_tags.push(e_nodes[i]); } } // �S�^�O���� P �^�O�ʒu��z��ɓ���� for(var i = 0; i < e_tags.length; i++){ if(e_tags[i].tagName === 'P') p_num.push(i); // �ŏ��̉�荞�ݗv�f���i�[ if(!o_float.e){ o_float.e = check_float(e_tags[i]); o_float.y = get_element_y(o_float.e); o_float.n = i; } } if(p_num.length >= _threshold){ try_insert(); }else{ insert_ng('P �^�O ' + _threshold + ' �ȉ�'); } }; if(e_body){ main(); }else{ insert_ng('�L���{���Ȃ�'); } })(document,4,5);

���ڂ̃e�[�}

�l�C�L�������L���O

���Ȃ��ɂ������߂̋L��PR