API Ruby on Rails 8 не позволяет подключиться к мобильному телефонуAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 API Ruby on Rails 8 не позволяет подключиться к мобильному телефону

Сообщение Anonymous »

Мой 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»