OpenID��XRI�\�\XRI�̊�{�FZIGOROu��OpenID Short Clinic

OpenID�ɂ��񂷂邳�܂��܂ȋ^����������Ă����{�A�ځB����́AOpenID Authentication 2.0����Identifier�Ƃ��č̗p���ꂽXRI�ɂ‚��ĉ������B

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

�͂��߂܂��āBOpenID�Ɋւ��鎑����ǂ�ł���ƁA�uXRI�v�Ƃ����p���ڂɂ��܂����BURL��URI�̂悤�Ȍ��Ǝ����悤�Ȃ��̂Ȃ̂��Ɛ��@���Ă���̂ł����AXRI�Ƃ͉����������Ă��������B


�@OpenID Authentication 2.0����Identifier�Ƃ��č̗p���ꂽXRI�ieXtensible Resource Identifier�j�ł����A����͂����������҂Ȃ̂ł��傤���BXRI�̎d�l�Q�͖c��ł����A�v�_�͂���Ȃɓ���b�ł͂���܂���B

XRI�̃V���^�b�N�X��URI�̊g��

�@XRI�̃V���^�b�N�X�ł����A�����ނˎ��̂悤�ȍ\���ɂȂ��Ă��܂��B

'xri://' authority '/' path '?' query '#' fragment


�@�ǂݕ��Ƃ��Ă̓V���O���N�I�[�g�ň͂܂ꂽ�����͕����񂻂̂��̂ŁA�uauthority�v�upath�v�uquery�v�ufragment�v�͕��ʂł��肨�̂��ׂ̍����L�q���[��������܂��B�X�y�[�X�ɈӖ��͂���܂���B

�@���̃��[���ɓ��Ă͂܂���ۂ̗�Ƃ��ẮA

  • xri://@a*a/!g!g
  • xri://@a*a/!b!b/c*c/!g!g?y
  • xri://@a*a/!b!b/c*c/�ixri://@d*d/e�j?q#s

�Ȃǂ�����܂��B������������Ȃ��V���{�����������邩�Ǝv���܂��B�ׂ������[���͂����ł͏q�ׂ܂��񂪁Aauthority���̐擪�ɂ���g@�h�Ȃǂ͏d�v�ȈӖ��������Ă��܂��B���̕����̕������Global Context Symbol�i�ȉ�GCS�j�Ƃ����AOpenID�ɖ��ڂɊ֌W����̂́g@�h�Ɓg=�h�ł��B

i-name��OpenID

�@��قǁAGCS�̂���OpenID�ɖ��ڂɊ֌W����̂́g@�h�Ɓg=�h�ƏЉ�܂������A����2�‚́A�ȉ��̃��[���Ŏg�������܂��B

  • @�F�g�D��c�́A��ƂȂǂ�\��
  • =�F�l��\��

�@���������Ȃ�A

  • xri://@itmedia
  • xri://=zigorou

�ȂǂƂ������L�q���”\�ɂȂ�킯�ł��B���́g@�h��g=�h�Ŏn�܂�XRI��i-name�Ƃ����܂��B

�@�������A����GCS�͊e�����D���Ȃ��̂����R�ɖ������ł͂Ȃ��Ai-name provider�Ƃ����T�[�r�X�ōw������K�v������܂��B�M�҂�linksafe�Ƃ���i-name provider�Ŏ�����i-name�i=zigorou�j���擾���Ă݂܂������Alinksafe�ł́A�l�p�r�i�g=�h�Ŏn�܂�i-name�j�͔N12�h���A��ƂȂǂ̗p�r�i�g@�h�Ŏn�܂�i-name�j�͔N55�h���ƂȂ��Ă��܂��B�����URI�ł����Ƃ���̃h���C�����ɋ߂����̂��Ǝv���Ă��������č\���܂���B

XRI�̗p�r

�@���āAURI�Ŏ��ۂɎ����ꂽ���݂ƃ��\�[�X���̂��̂������͂ǂ̂悤�ɒm��ł��傤���B��{�I�ȗ���Ƃ��ẮA�K�v�ł����DNS�ɖ₢���킹�邱�ƂŖ��O�������s���A���̃T�[�o�ɐڑ����A�p�X���T�[�o�Ɏ������\�[�X�𓾂�Ƃ�������ɂȂ�Ǝv���܂��B

�@XRI���������Ă��܂����ADNS�ł͂Ȃ�XRI Proxy Resolver�Ƃ����T�[�r�X�Łu�����v���܂��B�����ł��������Ƃ́A����XRI�ɑ΂��Ăǂ̂悤�ȃT�[�r�X�����p�”\����\��XML�������擾���邱�Ƃ��w���A������XML�������uXRDS�����v�ƌĂт܂��B�Ȃ��A���́u�����v�̐��������̂�XRI Resolution�Ƃ����܂��B

�@�����ԑO�u���������Ȃ��Ă��܂��܂������A�Ⴆ�΁uxri://=zigorou�v�ł���΁A�uxri://�v���ȗ����āA

http://xri.net/=zigorou?_xrd_r=application/xrds+xml

�̂悤��http�is�j�̃��N�G�X�g�𑗂�΁AXRDS�������Ԃ��Ă��܂��Bcurl�R�}���h�ȂǂŎ��ۂɑł��Ă݂Ċm���߂Ă݂�Ɨǂ��ł��傤�BXRDS�����̒��g�Ɋւ��Ă͂܂��ʂ̋@��ɉ���������Ǝv���܂��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�R�����ւ̃R���^�N�g�͂����炩���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);
���Ȃ��ɂ������߂̋L��PR