ソース
※11/29追記
今更ですが日本語のページも見つけたのでリンクを置いておきます。
https://googledevjp.blogspot.jp/2016/09/modernizing-oauth-interactions-in-native-apps.html
概要
Googleが、アプリ組み込みのWebViewによるGoogleのOAuth認証を遮断することを発表しています。
これにより、以下のWebViewによるOAuth認証ができなくなります。
- Android
- WebView
- iOS
- UIWebView, WKWebView
安全かつシームレスな認証のため、OAuth認証はアプリごとではなくデバイスごとに行いたいという背景があるようです。
2016/10/20から、上記WebViewを使用したアプリの新規登録を禁止し、またWebViewを使用した既存アプリにてOAuthクライアント向けに通知を行うようになります。
2017/04/20から、上記WebViewによるGoogle OAuth認証が遮断されます。
近々アプリのリリースを考えている方は対応する必要がありそうです。
代替案
デバイスに入っているブラウザを使用する
アプリからデバイスに入っているブラウザを呼び出し、そのブラウザでOAuth認証を行います。
AndroidではChrome、iOSではMobileSafariと連携することになります。
ライブラリを使用する
Google Sign-In (Google公式)
AppAuth
Windows向けサンプル
デバイスのブラウザと連携しているWebViewを使用する
アプリ内でOAuth認証が完全にできなくなるのかというとそうではなく、デバイスの情報と連携する以下のWebViewを使用すればOAuth認証は可能のようです。
単にアプリ内でやるなという意図ではなく、デバイスごとにOAuth認証させたいという意図なのでしょうね。
- Android
- Chrome Custom Tabs(Chrome 45以降、Support Library ver23以降)
- iOS
- SFSafariViewController(iOS9以降)