2017-02-10 2 views
1

Я создал службу без взаимодействия с пользователем для доступа к моему API. Api должен знать пользователя. Поэтому мне нужен поток владельца ресурсов.Могу ли я использовать grant_type = "password" для получения refresh_token для обновления access_token для доступа к моему API

Для доступа к моему Api мне нужен access_token с правильной областью действия «MyApiScope». Я могу получить access_token с потоком владельца ресурса с указанием области действия = «MyApiScope». Но я не получу токен обновления.

Я могу получить refresh_token с потоком владельца ресурса с указанием scope = "offline_access". Но access_tokens, сгенерированный этим токеном обновления, не может использоваться для доступа к моему Api, потому что они не содержат правильную область действия, «offline_access»! = «MyApiScope».

Возможно ли в этом случае использовать токены обновления и поэтому я должен всегда использовать имя пользователя/пароль для получения нового access_token?

Спасибо за ваш совет.

+1

Ничего не мешает вам использовать как 'offline_access', так и' MyApiScope' области –

+1

Насколько это просто! Я добавил масштаб, и он сработал! Я просто не знал, что вам нужно объединить области с пробелами между ними (конечно, кодируется по URL). 'grant_type = password & username = {USERNAME} & password = {PASSWORD} & client_id = {CLIENT_ID} & client_secret = {CLIENT_SECRET} & scope = MyApiScope offline_access' – fantastischIdee

ответ

1

Просто добавьте все необходимые области, разделенные пробелами.
grant_type=password&username={USERNAME}&password={PASSWORD}&‌​client_id={CLIENT_ID‌​}&client_secret={CLI‌​ENT_SECRET}&scope=My‌​ApiScope offline_access

+0

вы должны URL-кодировать пробелы до"% 20 "; при вставке в браузер, который, возможно, будет сделан автоматически, но в целом это не –

+0

большое спасибо fantastischIdee –

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