Email or username:

Password:

Forgot your password?
Top-level
D:\side\

@drq гипотетически да, его можно научить, если использовать в процессе получения кода redirdct_uri, который ведёт в приложение.

Но для этого приложение должно быть доступно из браузера хотя бы с хоста с этим самым браузером. И нужно тащить в приложение вебсервер только ради вот этого вот одного запроса. А этому вебсерверу нужен порт. И что-то эта идея кажется всё менее привлекательной…

@mo

13 comments
Dr. Quadragon ❌ replied to D:\side\

@dside Короче, ладно, по хуям, скопипастит - не развалятся.

@mo

Dr. Quadragon ❌ replied to D:\side\

@dside погоди, а сервер нахрена? По идее, нужен курл с авторизованной в инстатнсе кукой.

@mo

D:\side\ replied to Dr. Quadragon ❌

@drq ты про получение кода напрямую приложением спрашивал.
Вот для этого.
Поскольку ты там особое значение передаёшь, в конце процесса Мастодон показывает тебе красивую страничку с кодом.
А если вместо этого значения передать урл, то Мастодон вместо страницы с кодом приклеит к этому урлу ?code=Х и отдаст туда редирект.
И вебсервер нужен, чтобы этот редирект поймать.

@mo

@drq ты про получение кода напрямую приложением спрашивал.
Вот для этого.
Поскольку ты там особое значение передаёшь, в конце процесса Мастодон показывает тебе красивую страничку с кодом.
А если вместо этого значения передать урл, то Мастодон вместо страницы с кодом приклеит к этому урлу ?code=Х и отдаст туда редирект.
И вебсервер нужен, чтобы этот редирект поймать.

Dr. Quadragon ❌ replied to D:\side\

@dside Хм. Ну, Го, кстати, умеет по-бырику раскручивать веб-сервер.

Но ладно. А что мне мешает просто по этому урлу с особым значением сходить курлом и взять код?

@mo

D:\side\ replied to Dr. Quadragon ❌

@drq если ты /oauth/authorize в залогиненном браузере открываешь, то этот же браузер по редиректу и пойдёт.

Поэтому адрес назначения в редиректе должен вести в приложение, чтобы приложение могло достать значение кода самостоятельно.

А иначе в этой затее нет смысла.
Если редирект будет на мёртвую ссылку, то браузер успешно пойдёт и по ней. И код можно будет скопировать из адресной строки, если хочется, но со специальной страницы Мастодона это делать всё же удобнее.

А если ты хочешь и чтоб на /oauth/authorize приложение сходило само, это ему нужны будут логин+пароль или сессия, чего ты вроде как хочешь избежать.

@mo

@drq если ты /oauth/authorize в залогиненном браузере открываешь, то этот же браузер по редиректу и пойдёт.

Поэтому адрес назначения в редиректе должен вести в приложение, чтобы приложение могло достать значение кода самостоятельно.

А иначе в этой затее нет смысла.
Если редирект будет на мёртвую ссылку, то браузер успешно пойдёт и по ней. И код можно будет скопировать из адресной строки, если хочется, но со специальной страницы Мастодона это делать всё же удобнее.

Dr. Quadragon ❌ replied to D:\side\

@dside Я хочу избежать их *хранения*. Ну, а так - это единственные реквизиты, доступные пользователю, пусть введет разок.

@mo

D:\side\ replied to Dr. Quadragon ❌

@drq тогда проще спрашивать прямо логин с паролем и делать запрос токенов с grant_type: password, что и делает Authenticate. Выглядит он работоспособным.

И никакая возня с /oauth/authorize и authorization code в процессе не появляется вообще.

@mo

Dr. Quadragon ❌ replied to D:\side\

@dside Но тогда их придется *хранить*. И вот этого я хочу избежать.

@mo

D:\side\ replied to Dr. Quadragon ❌

@drq да нет, не придётся. Ты ж по итогам процедуры всё равно получишь access token и тебе точно так же его сохранять.

@mo

Dr. Quadragon ❌ replied to D:\side\

@dside Пробовал, не работает такое :)

@mo

D:\side\ replied to Dr. Quadragon ❌

@drq должно бы. Что останавливает?

@mo

Dr. Quadragon ❌ replied to D:\side\

@dside Говорит bad grant при попытке логина с этим токеном.

@mo

D:\side\ replied to Dr. Quadragon ❌

@drq так с ним не надо логиниться, он готов к применению. Создать клиент, где токен присвоен в Config.AccessToken, и поехал.

@mo

Go Up