Что ж, в спецификации OAuth2
предусмотрены случаи, когда вы проходите аутентификацию в приложении, которое полностью работает на стороне клиента (браузеры, мобильные телефоны и т. Д.), И поэтому они не способны защитить свой код / данные.
В памятке относительно Security Considerations
говорится, что вы не должны хранить учетные данные в нашем коде (я думаю, по понятным причинам):
https://tools.ietf.org/html/rfc6819#section-5.3.1
Кроме того, в памятке онативным клиентам настоятельно рекомендуется, чтобы серверу авторизации не требовался секрет приложения:
https://tools.ietf.org/html/rfc8252#section-8.5
Таким образом, должна быть возможность получить токен доступа без использования клиентасекрет, используя тип предоставления «клиент», как это:
https://www.oauth.com/oauth2-servers/mobile-and-native-apps/authorization/
В любом случае, в документации Github указано, что client_secret
является обязательным для получения access token
:
https://developer.github.com/apps/building-oauth-apps/authorizing-oauth-apps/#2-users-are-redirected-back-to-your-site-by-github
Согласно официальной спецификации, вы должны этого достичь, но я не смог найти способ добиться этого с помощью Github OAuth, и вотмой вопрос:
Есть ли способ использовать Github OAuth для получения access token
без использования client_secret
?