Я разрабатываю приложение для Android на основе веб-сайта WordPress, поэтому мне нужно получить токен для входа пользователя в приложение с помощью метода JWT.
Когда я отправляю запрос, я неполучить ответ от сервера;вероятно, что-то не так с моим кодом.Я установил плагин wordpress-rest-api
и jwt-auth-plugin
на сайте.
Мой код содержит userModel.java
, который содержит геттеры и сеттеры для идентификатора пользователя, электронной почты и токена.
retroFitInterface.java
:
@POST ("Authorization: Bearer")
Call<User> login (@Body Login login);
@GET ("secretinfo")
Call<ResponseBody>getSecret(@Header("Authorization")String authToken);
Login.java
:
private String email,password;
public Login (String email,String password) {
this.email = email;
this.password = password;
}
}
MainActivity.java
Retrofit.Builder builder = new Retrofit.Builder().baseUrl("https://taqoh.com/wp-json/jwt-auth/v1/token").addConverterFactory(GsonConverterFactory.create());
Retrofit retrofit = builder.build();
RetroFitInterface retroFitInterface = retrofit.create(RetroFitInterface.class);
private Button button, button1;
private static String token;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button = findViewById(R.id.login_btn);
button1 = findViewById(R.id.get_token_btn);
}
private void login() {
Login login = new Login("isohunter1@hotmail.com", "qweqweqwe123");
Call<User>call = retroFitInterface.login(login);
call.enqueue(new Callback<User>() {
@Override
public void onResponse(Call<User> call, Response<User> response) {
if (response.isSuccessful()) {
Toast.makeText(MainActivity.this, response.body().getEmail(), Toast.LENGTH_LONG).show();
token = response.body().getToken();
}
}
@Override
public void onFailure(Call<User> call, Throwable t) {
Toast.makeText(MainActivity.this, "error", Toast.LENGTH_LONG).show();
}
});
}
private void getSecret() {
Call<ResponseBody>secret = retroFitInterface.getSecret(token);
secret.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
}
});
}
@Override
public void onClick(View v) {
if (v.getId() == R.id.login_btn) {
login();
} else if (v.getId() == R.id.get_token_btn) {
getSecret();
}
}