Этот вопрос связан с регистрацией на основе OAuth в родном мобильном приложении. В соответствии с потоком авторизации типа авторизации пользователь вводит идентификатор пользователя, пароль на странице входа и в ответ, код авторизации получается в URL-адресе (поскольку его URL-адрес, шифрование на основе https тоже не работает).Проблема безопасности, связанная с потоком OAuth
Это означает, что авторизационный код доступен в прокси, и любой может использовать его, при условии, что у них есть секретный клиент. Клиентский секрет не может быть сохранен в мобильном приложении, так как мобильное приложение также не считается защищенным. Подход, который я имел в виду, чтобы обойти безопасность секретности клиента, заключался в предоставлении конечной точки на стороне сервера, где мобильный клиент может звонить с помощью Идентификатор клиента, Код авторизации и URL-адрес перенаправления. Конечная точка обогатит секрет клиента, а затем вызовет фактическую конечную точку маркера, чтобы получить accesstoken. Accesstoken обеспечен, так как все сообщение превышает HTTPS.
Теперь проблема заключается в том, что код авторизации в URL-адресе небезопасен и уязвим. Или я переусердствую о безопасности. Это основной вопрос, и если это действительно проблема безопасности, каково смягчение последствий?
Один из вариантов, который я мог бы подумать и из одного из старых потоков stackoverflow, состоял в том, чтобы защитить конечную точку маркера, которая даст токен доступа с серверной стороны. Любое предложение о том, как это сделать? - Если его сертификаты, то сертификат будет упакован в мобильное приложение, что сделает его еще небезопасным)
d. Из [спецификации] (https://tools.ietf.org/html/rfc6749#section-3.1.2.1): конечной точке перенаправления СЛЕДУЕТ потребоваться использование TLS, как описано в Разделе 1.6, когда запрошенный тип ответа является «кодом», или «токен», или когда запрос перенаправления приведет к передаче конфиденциальных учетных данных через открытую сеть. –
@ Kris. Согласен, что конечная точка перенаправления использует TLS, но код авторизации является частью параметра HTTP-запроса, который не может быть защищен TLS. – Vaya
Это зависит от того, что вы подразумеваете под «защитой». Конечно, он может быть зарегистрирован вашим веб-сервером и, возможно, прокси-сервером, если это завершает TLS. Но прослушиватель сети не видит этого. –