RFC�ƂȂ����uOAuth 2.0�v�\�\���̗v�_�́H�F�f�W�^���E�A�C�f���e�B�e�B�Z�p�ŐV�����i2�j�i1/2 �y�[�W�j

����Web�̐��E�ł́A���܂��܂�Web�T�[�r�X���񋟂���v���b�g�t�H�[���ƁA�T�[ �h�p�[�e�B���񋟂���A�v���P�[�V������API�𒆐S�Ɍ��ѕt���A���́uAPI�G�R�m�~�[�v���`�����Ă��܂��B���̘A�ڂł́A�����ŏd�v�Ȗ������ʂ����u�f�W�^���E�A�C�f���e�B�e�B�v�ɂ‚��ė�����[�߂Ă����܂��B

» 2012�N09��10�� 18��00�� ���J
[Nov�C��IT]

�ĂсA�f�W�^���E�A�C�f���e�B�e�B�̐��E�ւ悤����

�@�O��u�wOAuth�x�̊�{�����m���v�ł�OAuth�̎d�l���ǂ��������̂��ɂ‚��Đ������܂����B����͈��������A

  • OAuth 1.0��OAuth 2.0�̈Ⴂ
  • OAuth 2.0���Z�L���A�Ɏg�����߂ɒm���Ă����ׂ�����

�ɂ‚��ďq�ׂĂ����܂��B

OAuth 1.0��OAuth 2.0�̈Ⴂ

�N���C�A���g�^�C�v�̒�`

�@OAuth 2.0�ł́AOAuth 1.0�ł̈ȉ��̂悤�Ȕ��Ȃ����܂��A�uConfidential�v�ƁuPublic�v�Ƃ���2��ނ�OAuth�N���C�A���g�^�C�v���`���Ă��܂��B

  • ���N�G�X�g�����₻��ɔ������N�G�X�g�p�����[�^�̐��K�������G�ł���
  • �T�[�o�ԒʐM��O��Ƃ����v���g�R���݌v�ɂ��AJS�A�v����X�}�z�A�v���ł͎g���ɂ���
  • �������؂̂��߂ɁuAccess Token�v�ƁuClient Credentials�v�̗������K�v�ł���A��K�͂�OAuth Server�ŃX�P�[�����ɂ���

�@���ꂼ��̃N���C�A���g�^�C�v�͈ȉ��̂悤�ɒ�`����܂��B

�EConfidential Client

�@�T�[�o��œ���Web�A�v���Ȃǂ̂悤�ɁAclient_secret��閧�ɂł���N���C�A���g�BConfidential Client�̓N���C�A���g�o�^����client_id��client_secret�Ƃ��������󂯎��B

�EPublic Client

�@JS�A�v����X�}�z��̃l�C�e�B�u�A�v���Ȃǂ̂悤�ɁAclient_secret��閧�ɂł��Ȃ��N���C�A���g�BPublic Client�̓N���C�A���g�o�^����client_id�݂̂��󂯎��B

�@OAuth 1.0�ł͂��ׂẴN���C�A���g���A�閧���̖������ʂ����uclient_secret�v�iOAuth 1.0�ł́uOAuth Consumer Secret�v�Ƃ��Ă΂��j���󂯎���Ă��܂����B�������ߔN�A�X�}�z��̃l�C�e�B�u�A�v����OAuth�𗘗p����P�[�X�������������Ƃ�����A�t�R���p�C���Ȃǂ�client_secret���R��������”\�����l���������ʁA���̂悤�ȕ��ނ�����Ă��܂��B

�@OAuth 2.0�ł́AOAuth Server���A�N���C�A���g�^�C�v�ɉ����ė��p�ł���Authorization Request�̃p�^�[�������肵����AAccess Token�i�A�N�Z�X�g�[�N���j�̗L��������ς���Ƃ������^�p���������邽�߂ɁA�N���C�A���g�^�C�v�̏�񂪗��p����Ă��܂��i��1�j�B

��1�F�������A�c�O�Ȃ��猻��ł́A���ׂĂ�OAuth Server���d�l�ʂ�ɃN���C�A���g�^�C�v�̎g���������s���Ă���킯�ł͂Ȃ��AOAuth Client�̊J���҂ɍ����𐶂������Ă���悤�ł��B���̕ӂ�͊eOAuth Server��API�헪�Ȃǂ����ނ��߁A�{���̈Ӗ��ŕW�������ꂽ�󋵂��K���܂łɂ͂܂����Ԃ������邩������܂���B

�y�֘A�����N�zRe: OAuth 2.0��client_secret���Ė{���ɔ閧���ł����H

http://oauth.jp/re-oauth-20clientsecret


4�‚̃A�N�Z�X�����t�^�t���[�^�C�v

�@OAuth 2.0�ɂ́A�A�N�Z�X�����t�^�t���[�^�C�v��4��ޑ��݂��܂��B����3�‚̓N���C�A���g�̓����ɉ������^�C�v�ŁA�c��1�‚́AOAuth 1.0�Ŕ��ɓ���ȑ��݂ł������u2-legged OAuth�v�ƌĂ΂�Ă������̂ɊY������^�C�v�ł��B

�EAuthorization Code Grant�i�F�ƒR�[�h�O�����g�j

�@���Confidential Client�����ɗp�ӂ��ꂽ�t���[�ŁAConfidential Client�͊�{�I�ɂ��̃t���[�𗘗p���܂��B�d�l�ł́APublic Client�ɂ�邱�̃t���[�̗��p���֎~���Ă͂��܂��񂪁A����ł�Public Client�ɑ΂��Ă��̃t���[�̗��p�����‚��Ă���OAuth Server�͏��Ȃ��ł��B

}1 �}1�@Authorization Code Grant�i�F�ƒR�[�h�O�����g�j�̃t���[

�@Access Token�������؂ꂵ���ꍇ�Ȃǂɂ́A�o�b�N�O���E���h�ŐV����Access Token���擾���邽�߂ɗp������uRefresh Token�v�Ƃ����g�[�N���𔭍s���邱�Ƃ��ł��܂��B

�EImplicit Grant�i�C���v���V�b�g�O�����g�j

�@Public Client�����ɗp�ӂ��ꂽ�t���[�ŁAclient_secret�Ȃ��ŗ��p�ł���悤�ɐ݌v����Ă��܂��B

}2 �}2�@Implicit Grant�i�C���v���V�b�g�O�����g�j�̃t���[

�@�N���C�A���g�̔F�؂��s��Ȃ��t���[�Ȃ̂ŁAAuthorization Code Grant Flow�ɔ�ׂ�ƁA�Z�L�����e�B�ʂ͎キ�Ȃ�܂��B���̃t���[���T�|�[�g����OAuth Server�́A�N���C�A���g�o�^���Ƀ��_�C���N�gURL�������I�ɓo�^��������A���Ӊ�ʂŃ��[�U�[�ɓ��ʂɒ��ӂ𑣂����肷��ȂǁA�N���C�A���g�̂Ȃ肷�܂��ɑ΂��ĉ��炩�̑΍���s���K�v������ł��傤�B

�EResource Owner Password Credentials Grant�i���\�[�X�I�[�i�[�p�X���[�h�N���f���V�����O�����g�j

�@OAuth Client�����ڃ��[�U�[��ID�ƃp�X���[�h���󂯎��A�����OAuth Server�ɓn���t���[�ł��B

�@�p�X���[�h���T�[�h�p�[�e�B�ɒm�点�邱�ƂȂ�API�A�g���s����A�Ƃ���OAuth�̓������炷��ƕs�v�c�ȑ��݂ł����A�]���x�[�V�b�N�F�؂ōs���Ă���API�A�g��OAuth 2.0�x�[�X�Ɉڍs����ꍇ�Ȃǂɂ͎g������̂������̂ł��B

�@�܂��AOAuth Server��OAuth Client���������Ǝ҂ɂ���Ē񋟂���Ă���ꍇ�i��FiOS�g�ݍ��݂�Facebook�^Twitter�̘A�g�Ȃǁj�ɁA���[�U�[��OAuth Client�i�O�q�̗�̏ꍇ��iOS�f�o�C�X���L�҂�iOS���́j�̊Ԃɋ����M���֌W�����邱�Ƃ�O��ɂ��ė��p�����P�[�X������܂��B

�EClient Credentials Grant�i�N���C�A���g�N���f���V�����O�����g�j

�@���[�U�[�̓��ӂ�K�v�Ƃ��Ȃ����\�[�X�i�A�v���̗��p�󋵂��͂��߂Ƃ���Analytics���Ȃǁj�ɃA�N�Z�X����ۂɗ��p����܂��Bclient_id��client_secret�݂̂�Access Token���擾�ł��܂��B

�@���̃t���[�́A���[�U�[�̃��\�[�X�ɃA�N�Z�X���邽�߂ɗ��p�����킯�ł͂Ȃ��̂ł��܂藘�p�@��͂Ȃ����Ǝv���܂��B

�@�������Aclient_secret���R���������ۂɂ͑�O�҂ɂ��̃t���[���g���Ă��܂����X�N�����邽�߁AOAuth Client�̊J���҂́A���p���Ă���OAuth Server�����̃t���[���T�|�[�g���Ă��邩�ۂ��A�T�|�[�g���Ă���ꍇ�͂��̃t���[�œ���ꂽAccess Token�𗘗p���ĉ����ł���̂���m���Ă����ׂ��ł��傤�B

�@�ʏ�͏�L4�‚̃t���[�̂����AWeb�A�v���ł����Authorization Code Grant�t���[���A�X�}�z�̃l�C�e�B�u�A�v����JS�A�v���ł����Implicit Grant�t���[�𗘗p���邱�ƂɂȂ�ł��傤�i��2�j�B

��2�FGoogle API�͗�O�I�ɁA�l�C�e�B�u�A�v���ɑ΂��Ă�client_secret�𔭍s���AAuthorization Code Grant�t���[�𗘗p�����Ă��܂��B�ڂ����͑O�͂ł��Љ�����L�̋L�����������������B

�y�֘A�����N�zRe: OAuth 2.0��client_secret���Ė{���ɔ閧���ł����H

http://oauth.jp/re-oauth-20clientsecret


�g���”\��

�@OAuth 2.0�ł́A�N���C�A���g�̓����ɍ��킹�ĕ����̌����t�^�t���[���`���������łȂ��A�K�v�Ƃ����Z�L�����e�B���x��������̔F�؁^�F�ƒv���g�R���Ƃ̑��݉^�p���̊m�ۂȂǂ�ړI�Ƃ��āA�d�l�̑����̕������g���”\�ɂ��Ă��܂��B

�@�Ⴆ�΁A����ȍ~�ɏЉ��uOpenID Connect�v�Ƃ����d�l��OAuth 2.0���g�����Ē�`����Ă��܂����A�G���^�[�v���C�Y�ōL�����p����Ă���SAML�Ƃ����v���g�R������OAuth 2.0�ւ̈ڍs���s�����߂̊g���d�l�Ȃǂ����肳��Ă��܂��B�܂�Access Token�̕\���`�����A���݂͂قڂ��ׂĂ�OAuth Server�ŁuBearer Token�v�ƌĂ΂����̂����p����Ă��܂����A�uJSON Web Token�v�Ƃ��������t��JSON�𗘗p����g�������݂��܂��B

�@�܂��d�l�Ƃ͏�������܂����AFacebook�͓Ǝ���Access Token�̗L�����������΂����@���`���Ă�����A�Ǝ���OAuth 2.0�g�����s���Ă��܂��B

�Q�l�ɂȂ�h�L�������g��

�@���łɑ�����OAuth Server�����݂��A�e�Ђ̃h�L�������g��OAuth 2.0�̗��p���@���q�ׂ��Ă��܂��B���̂��߂����ł�OAuth 2.0�̎������@�ɂ‚��Ă͏ڂ����q�ׂ��A�Q�l�ɂȂ�URL���Љ��ɂƂǂ߂܂��B

�y�֘A�����N�z

Facebook API�ł�OAuth���p���@ (OAuth 2.0)

https://developers.facebook.com/docs/authentication/

Twitter API�ł�OAuth���p���@ (OAuth 1.0)

https://dev.twitter.com/docs/auth/oauth

Google API�ł�OAuth���p���@ (OAuth 2.0)

https://developers.google.com/accounts/docs/OAuth2

Github API�ł�OAuth���p���@ (OAuth 2.0)

http://developer.github.com/v3/oauth/

LinkedIn API�ł�OAuth���p���@ (OAuth 1.0)

https://developer.linkedin.com/documents/authentication

����L��2012�N8�����݂܂�OAuth 1.0���̗p���Ă���Twitter��LinkedIn�Ȃǂ́A�߂�����OAuth 2.0�Ɉڍs����”\��������܂��B


�@�܂��M�҂͌l�I�ɁAOAuth.jp�Ƃ����T�C�g��ʂ��ē��{�̃f�x���b�p�[�����ɏ�񔭐M���s���Ă���AOpenID Foundation Japan�ł�OAuth 1.0�A2.0�Ƃ��Ɏd�l�̖|����s���Ă��܂��BOAuth�ɂ‚��Ă��ڂ������Ƃ�m�肽�����́A�ȉ���URL���炻���̏��ɃA�N�Z�X���Ă���������΍K���ł��B

�y�֘A�����N�z

OAuth.jp

http://oauth.jp/

OpenID Foundation Japan

http://openid-foundation-japan.github.com


�@�@�@�@�@�@ 1|2 ���̃y�[�W��

Copyright © ITmedia, Inc. All Rights Reserved.

'; this.insertTarget = document.querySelector('#cmsBody .subscription') || document.querySelector('#cmsBody .inner'); }; BodyAdIMSWithCCE.prototype = Object.create(BodyAdContent.prototype); BodyAdIMSWithCCE.prototype.activate = function () { refreshGam('InArtSpecialLink'); } // global reference window.itm = itm; //entry point BodyAdEventBase.polyfill(); const bodyAdManager = BodyAdManager.getInstance(); bodyAdManager.addEventListener(BodyAdManager.EVENTS.READY, function (ev) { bodyAdManager.loadAdvertise(); }); bodyAdManager.init(); })();
�X�|���T�[����̂��m�点PR

���ڂ̃e�[�}

Microsoft  WindowsőO2025
AI for GWjAO
[R[h^m[R[h Zg by IT - ITGWjArWlX̒SŊ􂷂gD
Cloud Native Central by IT - XP[uȔ\͂gD
�V�X�e���J���m�E�n�E �y�����i�r�zPR
���Ȃ��ɂ������߂̋L��PR

RSS�ɂ‚���

�A�C�e�B���f�B�AID�ɂ‚���

���[���}�K�W���o�^

��IT�̃��[���}�K�W���́A �������A���ׂĖ����ł��B���Ѓ��[���}�K�W�������w�ǂ��������B