{"height":"190","author_name":"s-takaya1027","title":"GiHub OAuth\u3067\u306e\u30ed\u30b0\u30a4\u30f3\u30fb\u767b\u9332\u6a5f\u80fd\u3092Rails\u3067\u5b9f\u88c5\u3059\u308b(\u8d85\u521d\u5fc3\u8005\u5411\u3051)","version":"1.0","width":"100%","provider_name":"Hatena Blog","description":"\u4eca\u56de\u306f\u3001GitHub\u306eOAuth\u3092\u8a66\u3057\u3066\u307f\u305f\u3068\u304d\u306e\u30e1\u30e2\u3067\u3059\u3002 \u5b9f\u88c5\u74b0\u5883 rails 5.2.3 ruby 2.6.4 \u305d\u308c\u3067\u306fGitHub\u306eOAuth\u3092\u5b9f\u88c5\u3057\u3066\u3044\u304d\u307e\u3057\u3087\u3046\u3002 (i) Devise\u3068\u95a2\u9023gem\u306e\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb gem 'devise' gem 'omniauth' gem 'omniauth-github' bundle \u3057\u3066\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3057\u307e\u3059\u3002 (ii) Devise\u306e\u8a2d\u5b9a\u3068User\u30e2\u30c7\u30eb\u3092\u4f5c\u6210 \u30e1\u30fc\u30eb\u306e\u53d7\u4fe1\u306b\u306f letter_opner_web\u3068\u3044\u3046gem\u3092\u4f7f\u3063\u3066\u3044\u304d\u307e\u3059\u3002README\u3092\u53c2\u8003\u306b\u8a2d\u5b9a\u3057\u307e\u3059\u3002 \u53c2\u8003\u8a18\u4e8b github.com github.com Devise\u306eR\u2026","blog_title":"\u4f55\u304b\u3084\u3063\u3066\u307f\u308b\u30d6\u30ed\u30b0","url":"https://takayasugiyama.com/entry/2019/11/09/092017","type":"rich","published":"2019-11-09 09:20:17","image_url":"https://cdn-ak.f.st-hatena.com/images/fotolife/s/s-takaya1027/20191109/20191109073858.png","author_url":"https://blog.hatena.ne.jp/s-takaya1027/","categories":[],"provider_url":"https://hatena.blog","blog_url":"https://takayasugiyama.com/","html":"<iframe src=\"https://hatenablog-parts.com/embed?url=https%3A%2F%2Ftakayasugiyama.com%2Fentry%2F2019%2F11%2F09%2F092017\" title=\"GiHub OAuth\u3067\u306e\u30ed\u30b0\u30a4\u30f3\u30fb\u767b\u9332\u6a5f\u80fd\u3092Rails\u3067\u5b9f\u88c5\u3059\u308b(\u8d85\u521d\u5fc3\u8005\u5411\u3051) - \u4f55\u304b\u3084\u3063\u3066\u307f\u308b\u30d6\u30ed\u30b0\" class=\"embed-card embed-blogcard\" scrolling=\"no\" frameborder=\"0\" style=\"display: block; width: 100%; height: 190px; max-width: 500px; margin: 10px 0px;\"></iframe>"}