Objective-Cã«ããOAuth2ã®ãµã³ãã«ãä½ã£ã¦ã¿ã
ããæè¿iPhone(iPad)ã¢ããªéçºã«èå³ãæã£ã¦ã¾ãã
ã¡ãã£ã¨Picasaã®åçã表示ãã¦ã¿ãããªã¨æã£ãã¨ããã§ãæè¿å¯¾å¿ãããGoogleã®OAuth2ã®ãµã³ãã«ã®ãããªãã®ããã¾ããªããããªã®ã§ä½ã£ã¦ã¿ã¾ãããã¨ãã£ã¦ãOAuth2èªä½ã¯1ã«æ¯ã¹ã¦ã·ã³ãã«ãªãããã³ã«ã«ãªã£ã¦ããã®ã§å¿ è¦æ§ã¯èãããããã¾ããããã²ã¨ã¤ã®å®è£ ä¾ã¨ãã¦è¦ã¦ããã ããã¨å¹¸ãã§ãã
ãã¦Googleã®OAuth2ã§ãããã¾ãæºåã¨ãã¦ãã¡ãã®ãµã¤ãï¼http://code.google.com/intl/ja/apis/accounts/docs/OAuth2.html#Registeringï¼ã®èª¬æã«å¾ããèªåã®ã¢ããªã®ç»é²ãè¡ãã¾ãããã®æä½ã«ããèªåã®ã¢ã«ã¦ã³ãã«é¢é£ä»ããããClient IDã¨Client Secretãçºè¡ããã¾ããã¾ããããã§ãredirect URIã«ãã¼ã«ã«ã¢ããªç¨ã®
urn:ietf:wg:oauth:2.0:oob
ã¨ããå¤ãç»é²ãã¾ãã
ã¢ããªããã®èªè¨¼ã®æµãã¯ä»¥ä¸ã®ããã«ãªãã¾ãã
- Client IDããµã¼ãã¹ã®ã¹ã³ã¼ãï¼一覧ï¼ãªã©ãå«ããURLã®ãã¼ã¸ãéããã¦ã¼ã¶ã«ã¢ã¯ã»ã¹è¨±å¯ãæ±ãã
- ã¦ã¼ã¶ã«OKããããAuthorization Codeãçºè¡ãããã®ã§ããã®ãã¼ã¸ã®ã¿ã¤ãã«ãªã©ããAuthorization Codeãåå¾ãã
- ä¸ã§å¾ãããAuthorization CodeãClient ID/Secretãªã©ãç¨ãã¦Googleãµã¼ãã«Access Tokenã®ãªã¯ã¨ã¹ããéä¿¡ãã
- ä¸ã§å¾ãããAccess Tokenãç¨ãã¦åãµã¼ãã¹ã«ã¢ã¯ã»ã¹ãã
ã§ãä»å使ãããµã³ãã«ã¯ä»¥ä¸ã«ãªãã¾ããç§ã¯iPadããæã£ã¦ããªãããiPadã¢ããªã±ã¼ã·ã§ã³ã¨ãã¦ã¤ãã£ã¦ããã¾ãã
GitHub - maneman8000/SampleOAuth: iPad sample application of google OAuth2.0
Client IDã¨Client Secretã¯å ¥ãã¦ããªãã®ã§ãGitHubããã½ã¼ã¹ãè½ã¨ããã SampleOAuthãã©ã«ãå ã« OAuth2GoogleClient.h ã¨ãããã¡ã¤ã«ã使ãã以ä¸ã®ããã«èªåã®Client IDã¨Client Secretãå®ç¾©ãã¦ããã ãå¿ è¦ãããã¾ãã
#define GOOGLE_OAUTH2_CLIENT_ID @"ããã« Client ID ãè²¼ãä»ãã" #define GOOGLE_OAUTH2_CLIENT_SECRET @"ããã« Client Secret ãè²¼ãä»ãã"
ãã«ããã¦å®è¡ãã¦ããã ãã¨ã¦ã¼ã¶ã«è¨±å¯ãæ±ãããã¼ã¸ã表示ããã¾ããã¢ã«ã¦ã³ããå ¥åãã¦è¨±å¯ããã¨ãèªåã®Picasaã®ã¢ã«ãã ã®XMLããã®ã¾ã¾TextViewã«è¡¨ç¤ºããã¾ãã
ãªããç¾ç¶ã§ã¯Refresh Tokenã«ããæ¨©éã®æ´æ°ã¯å®è£ ãã¦ãã¾ããããããã追å ããäºå®ã§ãã