2016-08-01 19 views
1

Я создаю приложение для Android для своего сотрудника, которому потребуются пользователи для входа в систему с использованием аутентификации Okta (я планирую использовать их аутентификацию api). Мой вопрос заключается в том, как защитить WEB API, который мой код будет вызывать из приложения Android. Должен ли я использовать OAuth для Okta для этого?Okta Authentication и OAuth для защиты API

Я думал, что если я использую аутентификацию Okta (чтобы они вошли в систему), я также могу вызвать API OAuth для получения токена, а затем токена доступа. Затем я мог бы заблокировать API, проверив токен доступа, полученный от Okta.

Как вы думаете, это лучший способ сделать это с помощью Okta?

Спасибо!

ответ

2

08/18/2016 обновление: теперь у нас есть пример кода Xamarin доступного на https://github.com/raphaellondner-okta/okta-oauth-xamarin-android-customtabs

По состоянию на 08/18/2016, вам потребуется немного измененная версия IdentityModel.OidcClient (https://github.com/raphaellondner-okta/IdentityModel.OidcClient/tree/rl-pkce-secretless), чтобы сделать его работать с Okta и PKCE. Надеемся, что эти предлагаемые изменения скоро перейдут в мастер-филиал.

Оригинальный ответ: Я предлагаю вам взглянуть на наш образец OAuth Android доступен на https://github.com/oktadeveloper/okta-openidconnect-appauth-sample-android (Мы используем AppAuth для достижения как аутентификации с окта и авторизации с помощью OAuth и наши возможности OAuth).

У нас пока нет образца Xamarin, но общая идея заключается в том, чтобы использовать поток кода авторизации OAuth, используя встроенный браузер для вызова конечной точки Okta/authorize, захватить код, который возвращается из Okta в ответ браузера url (как фрагмент) и передать его вашему мобильному приложению для обмена кодом для токена доступа.

Наши функции OAuth по-прежнему находятся в стадии бета-тестирования, поэтому, если вам нужен доступ к ним, свяжитесь с нами у разработчиков в okta dot com.

+0

Я просто возвращаюсь к этому проекту. Рафаэль, не могли бы вы рассказать мне, почему мне нужно будет использовать проект customtabs github и проект gitub без права на rl-pkce? Почему обе части необходимы в приложении Xamarin, которое требует входа через Okta? Прежде чем начать работу над этим проектом, я хотел бы узнать о необходимых деталях. –

+1

Рад узнать, что вы вернулись к этому проекту! Во-первых, вы должны использовать последнюю версию моего проекта, которая теперь ссылается на официальную версию библиотеки IdentityModel.OidcClient NuGet. Для этой библиотеки потребовалась модификация для работы с OKTA PKCE OAuth 2.0 без передачи секретного ключа OAuth. Эта библиотека используется для обработки всего кода авторизации OpenID Connect в мобильном приложении, написанном с помощью Xamarin. Пользовательские вкладки Chrome используются для обработки аутентификации пользователя в браузере, ответ которого обрабатывается приложением Xamarin. –

+0

@RaphaelLondner мой вопрос немного не соответствует теме, я пытаюсь использовать ваш примерный проект, чтобы сделать то же самое, но в iOS и имел некоторые проблемы с ним, мне нужно использовать настраиваемую версию OidcClient, с которой вы связаны чтобы он работал так, чтобы он мог правильно управлять PKCE с Okta? –

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

  • Нет связанных вопросов^_^