Конечная точка авторизации ServiceNow `OAuth 2.0` и конечная точка токена

Я хочу интегрировать свое приложение с ServiceNow, используя его REST API. Для этого моему приложению необходимо авторизоваться с помощью OAuth 2. Я искал конечные точки авторизации и токенов в вики-странице ServiceNow, но не смог их найти.

Кто-нибудь может разместить здесь эти URL-адреса?


person Ram Bavireddi    schedule 30.06.2015    source источник


Ответы (2)


Начиная с выпуска Fuji, ServiceNow поддерживает аутентификацию на конечных точках REST с помощью OAuth. Во-первых, не забудьте включить плагин OAuth, если он еще не включен в экземпляре ServiceNow, с которым вы пытаетесь интегрироваться. Для получения информации о том, как это сделать и как настроить конечную точку OAuth, ознакомьтесь с этими документами по продукту.

После того, как вы создали конечную точку OAuth в реестре приложения в своем экземпляре ServiceNow, вам необходимо сгенерировать токены для использования для аутентификации. Вы можете найти образцы curl для создания токенов в документах. Просмотрите ответ на запрос, который вы сделали для создания токенов, и возьмите «токен доступа». Ответ от генерации токенов должен содержать тело JSON, подобное следующему:

{"scope":"useraccount","token_type":"Bearer","expires_in":1800,"refresh_token":"w599voG89897rGVDmdp12WA681r9E5948c1CJTPi8g4HGc4NWaz62k6k1K0FMxHW40H8yOO3Hoe","access_token":"F0jh9korTyzd9kaZqZ0SzjKZuS3ut0i4P46Lc52m2JYHiLIcqzFAumpyxshU9mMQ13gJHtxD2fy"}

Из ответа вы захотите записать access_token и включить его в качестве токена-носителя в последующие запросы к конечным точкам ServiceNow REST API.

Пример запроса к REST Table API с использованием токена доступа:

curl -H "Accept:application/json" -H "Authorization:Bearer 2wRlsRCT2SYjCCJP91kwo2EFzj5qg4O3I3aC09e0-0hz6Ib3YK7If-LMiNorNuglfqbkL4AfkYC92KYHUCcbpQ" "http://<instance>.service-now.com/api/now/table/incident"

Надеюсь, это поможет!

person Bryan    schedule 30.06.2015
comment
Я уже прошел по ссылкам, которые вы упомянули в своем ответе. Они не дали мне URL-адреса авторизации и токена. Не могли бы вы опубликовать их? - person Ram Bavireddi; 01.07.2015
comment
instancename.service-now.com/oauth_token.do, где instancename - это имя ваш экземпляр servicenow (например, demo001.service-now.com). - person Bryan; 01.07.2015
comment
Хотя это и верно, это не совсем ответ на вопрос. OP хочет предоставить тип предоставления кода авторизации, в то время как ServiceNow поддерживает только типы предоставления пароля и обновления токена. - person Nathanial Woolls; 06.10.2015
comment
ServiceNow (по крайней мере, в Стамбуле) поддерживает поток предоставления кода. См. Здесь community.servicenow.com/message/1122997#1122997 для примера Python. - person nmb.ten; 18.04.2017

Похоже, ServiceNow поддерживает только типы грантов password и refresh_token. См. здесь. URL-адреса авторизации и токена предназначены для Authorization code типа предоставления.

person Ram Bavireddi    schedule 01.07.2015