����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
�@�O��u�wOAuth�x�̊�{�����m���v�ł�OAuth�̎d�l���ǂ��������̂��ɂ��Đ������܂����B����͈��������A
�ɂ��ďq�ׂĂ����܂��B
�@OAuth 2.0�ł́AOAuth 1.0�ł̈ȉ��̂悤�Ȕ��Ȃ����܂��A�uConfidential�v�ƁuPublic�v�Ƃ���2��ނ�OAuth�N���C�A���g�^�C�v���`���Ă��܂��B
�@���ꂼ��̃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
�@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
�@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
�@�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
�@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
�@���łɑ�����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
Copyright © ITmedia, Inc. All Rights Reserved.