Теперь я вижу, что URI перенаправления - это фактически само приложение, использующее URI, который указывает на страницу приложения, а не на какой-либо веб-сайт. URI перенаправления можно настроить в приложении Android, используя следующую информацию: https://developer.android.com/training/app-links/deep-linking. Я многому научился из этого видео на YouTube: https://www.youtube.com/watch?v=j3OTZ62AkNU
Как только он перенаправляет пользователя обратно в приложение, библиотека входа в Google обрабатывает получение токена и информацию о пользователе.
com.googleusercontent.apps.123:redirect_uri_path
com.example.app is the reverse DNS notation of a domain under your control. The custom scheme must contain a period to be valid.
com.googleusercontent.apps.123 is the reverse DNS notation of the client ID.
redirect_uri_path is an optional path component, such as /oauth2redirect. Note that the path should begin with a single slash, which is different from regular HTTP URLs.
^ Скопировано из документации. 123 - это идентификатор вашего клиента. И com.googleusercontent.apps является фиксированным, а не переменным. Установка этого параметра в качестве URI перенаправления в вашем приложении гарантирует, что Google перенаправит пользователя обратно в ваше приложение, где библиотека будет обрабатывать получение токена доступа и профиля пользователя и т. Д. c. Вам нужно иметь фильтр намерений в своем манифесте. xml (или следующее в Xamarin), чтобы получить uri.
[IntentFilter(
new[] { Intent.ActionView },
Categories = new[] { Intent.CategoryDefault, Intent.CategoryBrowsable },
DataSchemes = new[] { "com.googleusercontent.apps.123" },
DataPath = "/oauth2redirect")]
Его эквивалент в Манифесте. xml:
<activity android:label="ActivityCustomUrlSchemeInterceptor" android:launchMode="singleTop" android:noHistory="true" android:name="crc640d96480bfe206cdf.ActivityCustomUrlSchemeInterceptor">
<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:path="/oauth2redirect" />
<data android:scheme="com.googleusercontent.apps.123" />
</intent-filter>
</activity>