HEDEF: Benim web uygulaması Drupal sitesine, Drupal sitesinde bir kullanıcı adı ve şifre göndermek için mümkün istiyorum ve Drupal sitem varGirişi uzaktan Drupal 7 sitesi kullanarak hizmetleri modülüne
Kullanıcı kimlik doğrulama bilgilerinin doğru olup olmadığına dair onay ile cevap verir.
başka ihtiyacın Drupal sunucu vb e-posta, kullanıcı rolü gibi, kullanıcı için oluşturulan bir oturum için bir oturum kimliği dönün ve bilgi sahip olmaktır
Ne var bugüne kadar:
Ben Hizmetler istirahat Sunucusu etkin ve www.mysite.com/rest/ bir bitiş noktası oluşturduk. Yanıt biçimini yalnızca json olarak ayarlıyorum ve uygulama/x-www-form-urlencoded uygulamasına ayrıştırıcı isteğinde bulundu. Oturum, hata ayıklama modu ile kimlik doğrulamayı açtım. Ayrıca, bu uç nokta için tüm kullanıcı kaynağını etkinleştirdiğinden emin oldum. Www.mysite.com/rest/user adresine gitmek bana tüm kullanıcıların listesini veriyor. kimlik doğrulaması ile benim girişimleri İlişkin
, Ben istekleri göndererek denedim:
POST www.mysite.com/rest/user/login
Content-Type: application/x-www-form-urlencoded
POST Body:
name:admin,
pass:myadminpassword
Ama bu sadece 401 Yetki yanıt döndürerek tutar. Kontrol ettim ve kimlik bilgileri doğru. Ben gibi parametre adları başka varyasyonlarını denedim: vb (kullanıcı adı, parola), (kullanıcı, pas), (adı, şifre),
işe giriş almak gibi olamaz ve ben ettik Stackoverflow'ta bulduğum diğer örneklere baktım ama işe yaramadılar.
vücut olmamalı: "username = yönetici & şifre = adminpass" eğer "x-www-form-urlencoded" kullanıyorsunuz? Tabii –
aaaaaaaand o kadar basit bir şeydi. POST parametrelerinin ve GET parametrelerinin aynı şekilde biçimlendirildiğini unuttum. Teşekkür ederim. – user594044
da json (veya hizmet modülü tarafından desteklenen başka bir biçimde) yayınlayabilirsiniz. Sadece servis kaynak config "sunucu" sekmesine onay kutusunu tıklayın ve bir json nesnesi ile POST gövdesini doldurun. –