2013-12-23 4 views
0

В моем приложении я использую сферу: oauth2: https://www.googleapis.com/auth/userinfo.emailhttps://www.googleapis.com/auth/userinfo.profileизбежать просить разрешения в применении

Когда Loging в, приложение запрашивает у пользователя разрешение на «Знайте, кто вы на Google». Я ненавижу это поведение, и я ненавижу этот текст еще больше. Я бы сразу же удалил приложение, которое попросит меня «знать, кто я». И все, чего я хочу достичь, - это иметь аутентифицированного пользователя, чтобы он мог вызывать метод на сервере (используя конечные точки). Я даже не хочу знать его электронную почту, но google также не смог реализовать такую ​​функциональность: more here. В любом случае, есть ли способ избавиться от этого вопроса, определив какое-то разрешение в android-manifest? Я добавляю все больше разрешений, но это не помогает. На данный момент у меня есть:

<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.WAKE_LOCK" /> 
<uses-permission android:name="android.permission.GET_ACCOUNTS" /> 
<uses-permission android:name="android.permission.USE_CREDENTIALS" />  
<uses-permission android:name="android.permission.NETWORK" /> 
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 
<uses-permission android:name="android.permission.READ_PROFILE" /> 
<uses-permission android:name="android.permission.AUTHENTICATE_ACCOUNTS" /> 
<uses-permission android:name="android.permission.ACCOUNT_MANAGER"/> 

И Google по-прежнему запрашивает разрешение в приложении. Кто-нибудь знает, как аутентифицировать пользователя с помощью oauth2, а не запрашивать разрешение с помощью принудительного всплывающего окна Google в моем приложении?

+0

Буду очень благодарен за любые подсказки и ссылки, которые могут помочь мне решить эту проблему. Я хочу определить все мои права доступа в манифесте, поэтому пользователи не будут беспокоиться о приложении. – user2855896

+0

Почему вы спрашиваете у этих областей, если они вам не нужны? –

ответ

0

@ M.Sameer: ​​Я спрашиваю их, потому что мне нужно знать, с каким игроком я имею дело ... Но я думаю, что перейду к разному решению.

Мне не нужно будет вводить логин и давать новым пользователям уникальный идентификатор и случайный пароль, устанавливать в общих настройках и отправлять его в каждом запросе и делать «неаутентифицированные вызовы» против моей конечной точки.

Это решение, предоставляемое Google для аутентификации на Android + App Engine, является редким и неприемлемым. Так много проблем для аутентификации пользователя и получения его уникального идентификатора пользователя ... И только с учетной записью Google! Насколько сложнее было бы интегрироваться с Facebook и другими провайдерами.

Он запрашивает gazillion разрешения в манифесте, просит еще больше разрешений при взаимодействии с пользователями ... И все, что я хотел знать, - это номер, идентифицирующий пользователя. Теперь я удалю: GET_ACCOUNTS, USE_CREDENTIALS, READ_PROFILE, AUTHENTICATE_ACCOUNTS, ACCOUNT_MANAGER, удалите все глупые «Я хочу знать, кто вы нахожусь в Google» и значительно улучшите взаимодействие с игрой, так как ему не нужно будет вводить какие-либо глупые данные, просто мгновенная игра, и если он захочет, он изменит свой пароль или запомнит тот, который я ему дал, и войдите с другого устройства.

[UPDATE]

Я на самом деле удалось с этой аутентификации. Проблема с запросом «узнать, кто вы» появилась потому, что после установки новой системы на другой диск и загрузки eclipse из старой она использовала новый ключ отладки, который был сохранен на новом диске, и я не справился с этим хорошо. После исправления этой проблемы основная проблема исчезла. Мне все еще нужны «GET_ACCOUNTS» и «USE_CREDENTIALS» для уникальной аутентификации пользователя, и я действительно недовольна этим, но я думаю, что это не поможет.

Смежные вопросы