AppAuth/OpenID-Connect: вход в систему с именем пользователя и паролем возможен?
Я хочу реализовать вход через OpenID-Connect в приложении для iOS. AppAuth-SDK, кажется, является стандартным способом сделать это. После загрузки некоторых примеров я немного запутался. Все примеры и учебники AppAuth работают с WebView, в котором пользователь вводит имя пользователя и пароль. Я хочу сделать собственный экран входа в систему, где пользователь должен ввести имя пользователя и пароль. Это возможно даже с AppAuth? Я читал что-то о "предоставлении пароля владельца ресурса" и "секрете клиента". Это то, что мне нужно?
Если бы кто-то мог подтолкнуть меня в правильном направлении, я был бы очень благодарен.
1 ответ
Представьте, что AppAuth-iOS - это простой набор классов, который помогает вам создавать запросы OAuth/OpenID Connect и получать ответы. Их образцы могут содержать образцы, которые используют только WebView с потоком кода авторизации. Но если вы проверяете документы, вы можете найти их API классов, поддерживающие предоставление пароля.
Вы можете создать OIDTokenRequest со связанными параметрами. Здесь вы можете использовать встроенный тип предоставления OIDGrantTypePassword из OIDGrantTypes. Просто введите пароль пользователя, полученный из вашего механизма входа в OIDTokenRequest через дополнительные параметры. Создайте запрос и получите ответ. Я не пробовал это сам, но простой просмотр документов показывает, что это правильный путь.
Всегда думайте о поддержке библиотек как о простых классах, которые были написаны, чтобы помочь вам. Таким образом, все становится проще.