Как получить токен из wordpress-rest-api с помощью Retrofit Android? - PullRequest
0 голосов
/ 05 июля 2019

Я разрабатываю приложение для 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();
    }
}
...