2
我想在C#中實現REST-api。我發現WCF Webapi可以做到這一點。 我的第一個問題是我如何才能給只有經過身份驗證的用戶訪問我的api? 第二個問題是,如果要進行身份驗證的客戶端是Android設備,那麼如何執行HTTP請求進行身份驗證?在WCF Webapi網站上驗證Android客戶端?
謝謝!
我想在C#中實現REST-api。我發現WCF Webapi可以做到這一點。 我的第一個問題是我如何才能給只有經過身份驗證的用戶訪問我的api? 第二個問題是,如果要進行身份驗證的客戶端是Android設備,那麼如何執行HTTP請求進行身份驗證?在WCF Webapi網站上驗證Android客戶端?
謝謝!
em ... 我們做了類似的事情,我們使用基本認證+ HTTPS, 這意味着用戶名和密碼將在每個請求中傳遞,在http頭中。
因此,在您的Web服務中,您可以進行身份驗證,如果它來自無效的用戶,則將其踢出。
或者,您也可以爲每個客戶端生成一個GUID,然後要求將GUID與每個http請求一起傳回搜索,驗證GUID。
Android設備上,當你發送HTTP請求,添加一個HTTP頭
授權:基本* ** *
很容易,這裏是Android上codesnipet
String baseUrl = this.getValue(ServiceBaseUrlKey);</i>
DefaultHttpClient client = new ConnectionManager().getHttpClient();//create a httpclient
HttpGet request = new HttpGet();
request.setURI(new URI(baseUrl + "Path"));
//TODO need to wrap up how to apply the basic authentication.
UsernamePasswordCredentials credentials = new UsernamePasswordCredentials("UserName", "****");
request.addHeader(new BasicScheme().authenticate(credentials, request));
request.addHeader("Content-Type","Application/JSON");
HttpResponse response = client.execute(request);
+1 ...除此之外,除非您提供正文,否則不需要設置內容類型。 –