Почему мой вход в Google OAuth2 работает, не обращая внимания на хранилище ключей для подписи моих приложений - PullRequest
1 голос
/ 06 марта 2019

В нашем приложении мы используем REST API Google Drive.Для аутентификации мы используем Xamarin.Auth со следующей конфигурацией

var authenticator = new OAuth2Authenticator(<our client ID>,
                                            null,
                                            "https://www.googleapis.com/auth/drive",
                                            "https://accounts.google.com/o/oauth2/v2/auth",
                                            <our redirect url>,
                                            "https://www.googleapis.com/oauth2/v4/token",
                                            null,
                                            true);

Логин представлен с использованием

var loginPresenter = new OAuthLoginPresenter();
loginPresenter.Login(authenticator);

(это не фактический код, так как авторизация инкапсулированав классе вводятся аутентификатор и ведущий, но в основном это то, что мы делаем).

Это откроет форму входа в браузере и позволит пользователю войти, в результате чего форма перезвонит нашему приложению с токеном OAuth2.Все работает как шарм.

Наш идентификатор клиента был создан с использованием хэша нашего отладочного хранилища ключей.Согласно документации и другим вопросам (см. здесь и здесь ), это должно перестать работать в конфигурациях выпуска, когда приложение подписано с другим хранилищем ключей.В любом случае, подписав приложение с нашим внутренним хранилищем ключей AdHoc, форма входа по-прежнему работает без проблем.На самом деле я не вижу, как это не должно быть.В конце концов, все, что мы делаем, это открываем веб-сайт в элементе управления системного браузера, поэтому я не понимаю, как веб-сайт должен получать хэш наших приложений.

Поскольку в связанных вопросах отсутствуют детали, я не вижу, насколько они отличаются от нашей ситуации, но я почему-то предположил, что Google OAuth выполняет какую-то черную магию, чтобы гарантировать совпадение хеша.Есть ли причина, по которой это работает для нас?Можем ли мы ожидать, что он продолжит работать после загрузки в Google Play, или есть риск, что он перестанет работать?

...