diff options
author | kelvinp@chromium.org <kelvinp@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-18 14:45:23 +0000 |
---|---|---|
committer | kelvinp@chromium.org <kelvinp@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-06-18 14:45:23 +0000 |
commit | f9bc59949fda0ed4cb7bd77e9a34fbb8791ce48b (patch) | |
tree | 0ec0b827477dc27deec24c73cde9f7977b6eee8c /remoting/android/java/AndroidManifest.xml.jinja2 | |
parent | 8b5eae469493b2a1141d010c9ae62da0129ced3b (diff) | |
download | chromium_src-f9bc59949fda0ed4cb7bd77e9a34fbb8791ce48b.zip chromium_src-f9bc59949fda0ed4cb7bd77e9a34fbb8791ce48b.tar.gz chromium_src-f9bc59949fda0ed4cb7bd77e9a34fbb8791ce48b.tar.bz2 |
Third Party Authentication for Android Part III - Android OAuth2 implicit flow
This change implements the OAuth2 implicit flow to fetch a third party token from the user.
1. Introduces a class ThirdPartyTokenFetcher to pop up a third party login page located at |tokenurl| in the browser.
2. Introduces a class OAuthRedirectActivity, which has an intent filter declared in the manifest to intercept the redirect URI upon a successful login.
3. It then starts the chromoting activity, which uses the ThirdPartyTokenFetcher to extract the code and token from the URI and pass it into the native component using JNI.
BUG=329109
Review URL: https://codereview.chromium.org/337013002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@278062 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting/android/java/AndroidManifest.xml.jinja2')
-rw-r--r-- | remoting/android/java/AndroidManifest.xml.jinja2 | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/remoting/android/java/AndroidManifest.xml.jinja2 b/remoting/android/java/AndroidManifest.xml.jinja2 index 7521f52..5f2af0a 100644 --- a/remoting/android/java/AndroidManifest.xml.jinja2 +++ b/remoting/android/java/AndroidManifest.xml.jinja2 @@ -12,12 +12,25 @@ android:theme="@android:style/Theme.Holo"> <activity android:name="org.chromium.chromoting.Chromoting" android:configChanges="orientation|screenSize" - android:theme="@style/MainTheme"> + android:theme="@style/MainTheme" + android:launchMode="singleTask"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> + <activity + android:name="org.chromium.chromoting.ThirdPartyTokenFetcher$OAuthRedirectActivity" + android:enabled="false" + android:noHistory="true"> + <intent-filter> + <action android:name="android.intent.action.VIEW"/> + <category android:name="android.intent.category.DEFAULT"/> + <category android:name="android.intent.category.BROWSABLE"/> + <data android:scheme="{{ APK_PACKAGE_NAME }}"/> + <data android:host="oauthredirect"/> + </intent-filter> + </activity> <activity android:name="org.chromium.chromoting.Desktop" android:configChanges="orientation|screenSize" android:windowSoftInputMode="adjustResize"/> |