Мой API Ruby on Rails 8 работает с почтальоном, но я получаю 401 несанкционированный доступ при попытке подключения через студию Android avd. Я пытался придерживаться этой ссылки https://husseinelgammal.hashnode.dev/im ... g-enabling -cors как можно больше и модифицировал config/devise.rb с помощью config.authentication_keys = [:name]
MainActivity.kt
var baseURL = "http://10.0.2.2:3000/"
var connectURL = baseURL+"users/login"
var rrr: List = mutableListOf()
//MainClass body
fun connectButton(view: View) {
if (binding.loginNameField.text.isNotEmpty() && binding.loginPasswordField.text.isNotEmpty()) {
Thread{
rrr = fuelPost(connectURL)
}.start()
}
}
private fun fuelPost(inputURL: String,
name: String = binding.loginNameField.text.toString(),
password: String = binding.loginPasswordField.text.toString()): List {
val json = parseToJsonElement("""{"user":{"name":"$name","password":"$password"}}""")
val (request, response, result) = Fuel.post(inputURL).body(json.toString()).response()
Log.i("request", request.toString())
Log.i("response", response.toString())
Log.i("result", result.toString())
return listOf(request, response, result)
}
}
Из консоли Rails:
Started POST "/users/login" for 127.0.0.1 at 2025-01-15 15:18:05 +0200
Processing by Users::SessionsController#create as JSON
Completed 401 Unauthorized in 1ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
Консоль Android Studio
--> POST http://10.0.2.2:3000/users/login
Body : {"user":{"name":"MUSTDOS","password":"fakepass"}}
...
Body : {"error":"You need to sign in or sign up before continuing."}
.............
sessions_controller.rb
class Users::SessionsController < Devise::SessionsController
include RackSessionsFix
private
def respond_with(current_user, _opts = {})
logger.debug "current user: #{current_user.inspect}"
render "users/sessions/session_success", status: :ok
end
def respond_to_on_destroy
if current_user
render "users/sessions/session_destroy", status: :ok
else
render "users/sessions/session_destroy_errors", status: :unauthorized
end
end
end
Подробнее здесь: https://stackoverflow.com/questions/793 ... connection
API Ruby on Rails 8 не позволяет подключиться к мобильному телефону ⇐ Android
Форум для тех, кто программирует под Android
-
Anonymous
1736964633
Anonymous
Мой API Ruby on Rails 8 работает с почтальоном, но я получаю 401 несанкционированный доступ при попытке подключения через студию Android avd. Я пытался придерживаться этой ссылки https://husseinelgammal.hashnode.dev/implementing-an-authentication-in-a-ruby-on-rails-api-only-project-using-devise-and-jwt#heading-enabling -cors как можно больше и модифицировал config/devise.rb с помощью config.authentication_keys = [:name]
MainActivity.kt
var baseURL = "http://10.0.2.2:3000/"
var connectURL = baseURL+"users/login"
var rrr: List = mutableListOf()
//MainClass body
fun connectButton(view: View) {
if (binding.loginNameField.text.isNotEmpty() && binding.loginPasswordField.text.isNotEmpty()) {
Thread{
rrr = fuelPost(connectURL)
}.start()
}
}
private fun fuelPost(inputURL: String,
name: String = binding.loginNameField.text.toString(),
password: String = binding.loginPasswordField.text.toString()): List {
val json = parseToJsonElement("""{"user":{"name":"$name","password":"$password"}}""")
val (request, response, result) = Fuel.post(inputURL).body(json.toString()).response()
Log.i("request", request.toString())
Log.i("response", response.toString())
Log.i("result", result.toString())
return listOf(request, response, result)
}
}
Из консоли Rails:
Started POST "/users/login" for 127.0.0.1 at 2025-01-15 15:18:05 +0200
Processing by Users::SessionsController#create as JSON
Completed 401 Unauthorized in 1ms (ActiveRecord: 0.0ms (0 queries, 0 cached) | GC: 0.0ms)
Консоль Android Studio
--> POST http://10.0.2.2:3000/users/login
Body : {"user":{"name":"MUSTDOS","password":"fakepass"}}
...
Body : {"error":"You need to sign in or sign up before continuing."}
.............
sessions_controller.rb
class Users::SessionsController < Devise::SessionsController
include RackSessionsFix
private
def respond_with(current_user, _opts = {})
logger.debug "current user: #{current_user.inspect}"
render "users/sessions/session_success", status: :ok
end
def respond_to_on_destroy
if current_user
render "users/sessions/session_destroy", status: :ok
else
render "users/sessions/session_destroy_errors", status: :unauthorized
end
end
end
Подробнее здесь: [url]https://stackoverflow.com/questions/79358296/ruby-on-rails-8-api-not-allowing-mobile-phone-connection[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия