Je fais la connexion pour mon application. Mais, j'ai besoin de jeton CRSF pour la connexion dans l'application. D'abord, j'essaie d'envoyer un cookie et d'obtenir un csrf. Mais je suis débutant et ça ne marche pas. En fait, je ne sais pas ce que je fais. J'utilise cette application sur mon site Web. Et j'utilise django pour le site Web et API (Django Rest Framework) pour l'application Android.Comment puis-je me connecter à l'application Android avec (Django) CSRF?
private static final String KEY_LOGIN = "http://192.168.1.102:8080/api-auth/login/";
private static final String KEY_CSRF = "csrf";
public static final String KEY_EMAIL = "email";
public static final String KEY_PASSWORD = "password";
CookieManager cookieManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
editTextEmail = (EditText) findViewById(R.id.editTextEmail);
editTextPassword = (EditText) findViewById(R.id.editTextPassword);
}
private void loginUser()
{
final HttpCookie cookie = new HttpCookie("lang", "tr");
try {
cookieManager.getCookieStore().add(new URI("http://192.168.1.102:8080/api-auth/login/"), cookie);
} catch (URISyntaxException e) {
e.printStackTrace();
}
final String email = editTextEmail.getText().toString().trim();
final String password = editTextPassword.getText().toString().trim();
StringRequest stringRequest = new StringRequest(Request.Method.POST,KEY_LOGIN,new Response.Listener<String>()
{
@Override
public void onResponse(String response) {
if(response.contains("is_admin")) {
openProfileCompany();}
else
{
openProfileUser();
}}},
new Response.ErrorListener()
{
@Override
public void onErrorResponse(VolleyError error)
{
Toast.makeText(Home.this,error.toString(),Toast.LENGTH_LONG).show();
}
}){
public String csrf;
@Override
protected Map<String,String> getParams(){
Map<String,String> params = new HashMap<String,String>();
params.put(KEY_EMAIL,email);
params.put(KEY_PASSWORD,password);
params.put(KEY_CSRF,csrf);
return params;
}
};
Pour le client android, je recommande l'utilisation du jeton django-rest-framework, je peux vous donner à la fois le code django et le code okhttp si vous le souhaitez. – Ykh
Merci pour votre intérêt. Ce sera bon pour moi si vous pouvez me les donner. – AlpYuktug