Я видел много сообщений, в которых рекомендовалось использовать Xamarin.Auth для единого входа в Xamarin, но после просмотра руководство, а также GitHub Getting Started wiki (в котором говорится, что он поддерживает "поток кода авторизации", но, похоже, для получения кода аутентификации от клиента требуется секретный ключ, а это не то, что я ищу) и искал web безрезультатно для «неявного потока Xamarin.Auth» и «потока кода авторизации Xamarin.Auth», мне кажется, что Xamarin Auth поддерживает только неявный поток, который менее безопасен, чем поток кода авторизации для собственного приложения, подключенного к серверное веб-серверное приложение, как у меня. Правильно ли я понимаю, что Xamarin.Auth может поддерживать только неявный поток (требующий, чтобы токен доступа был отправлен клиенту, а client_secret не может быть сохранен на стороне сервера и отправлен на стороне сервера как часть извлечения токен доступа), а не поток кода авторизации (в котором клиент получит только код авторизации, который затем будет отправлен на сервер, который затем получит токен доступа с использованием секрета клиента и, возможно, обмена PKCE)?
Кроме того, даже потоки с другими библиотеками, которые я видел, рекомендуются для получения токена доступа к клиенту — AppAuth поддерживает PKCE, что является улучшением безопасности по сравнению с отсутствием PKCE, но сообщения, которые я вижу, показывают примеры этого здесь и здесь и здесь по-прежнему все получают токен доступа на клиенте. Auth0 также рекомендуется в некоторых сообщениях, которые я видел (например, здесь), но пример, который я вижу для этого здесь, также извлекает токен доступа на клиенте.
Есть ли причина, по которой сайты этого не делают? Есть ли образец или документация по API, на которую кто-нибудь может указать библиотеку, которая поддерживает получение только клиентского кода авторизации в приложении Xamarin? (и затем отдельно, на стороне сервера, используя это для получения токена доступа с использованием секрета клиента, не обязательно с той же библиотекой безопасности, поскольку это не обязательно должен быть код Xamarin - эта часть на стороне сервера, я уверен, является довольно стандартная вещь - например, как указано для Auth0 здесь)?