Подтвердить что ты не робот

Множественные значения для oauth2

Я пытаюсь опубликовать значения области sereval, чтобы разрешить моему приложению использовать некоторую службу google...

Я попытался с двумя полями ввода

<input type="hidden" name="scope" value="https://www.googleapis.com/auth/calendar" />  
<input type="hidden" name="scope" value="https://www.googleapis.com/auth/userinfo.email" />

и с одним полем ввода с разделителем +

<input type="hidden" name="scope" value="https://www.googleapis.com/auth/calendar+https://www.googleapis.com/auth/userinfo.email" />  

Когда я отправляю свою форму только с одной областью, она работает. в противном случае значение sereval scope google перенаправляет меня с этим описанием ошибки:

http://localhost:49972/redirect.aspx#error=invalid_request&error_description=OAuth+2+parameters+can+only+have+a+single+value:+scope&error_uri=http://code.google.com/apis/accounts/docs/OAuth2.html 

В google начало работы с помощью oAuth2 он работает с двумя значениями области.

Вот мой код:

  <form id="form1" method="post" action="https://accounts.google.com/o/oauth2/auth?" >
    <div>
        <input type="hidden" name="response_type" value="code" />
        <input type="hidden" name="client_id" value="my client id" />
        <input type="hidden" name="redirect_uri" value="http://localhost:49972/redirect.aspx" />
        <input type="hidden" name="scope" value="https://www.googleapis.com/auth/calendar" />
        <input type="hidden" name="scope" value="https://www.googleapis.com/auth/userinfo.email" />

        <input type="hidden" name="state" value="/profile" />
        <input type="submit" value="go" />
    </div>
    </form>
4b9b3361

Ответ 1

Вы были на правильном пути, когда вы объединили их в одно поле , В запросе должен быть только один параметр scope, со значениями, разделенными пробелами. Если вы разместите его в такой форме, браузер позаботится о кодировании пространства для вас.

<input type="hidden" name="scope" value="https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/userinfo.email" />