Teşekkür kullanabilirsiniz. İşte bir java kodu. PHP istemci için kod
İşte
@Path("oauth")
public class OAuthService {
@GET
@Produces("text/html")
public String secretService(@Context HttpContext httpContext) {
OAuthServerRequest request = new OAuthServerRequest(httpContext.getRequest());
OAuthParameters params = new OAuthParameters();
params.readRequest(request);
OAuthSecrets secrets = new OAuthSecrets().consumerSecret("secretKey");
try {
if(!OAuthSignature.verify(request, params, secrets))
return "false";
} catch (OAuthSignatureException ose) {
return "false";
}
return "OK";
}
}
geçerli::
OAuthParameters params = new OAuthParameters().signatureMethod("HMAC-SHA1").
consumerKey("consumerKey").version("1.1");
OAuthSecrets secrets = new OAuthSecrets().consumerSecret("secretKey");
OAuthClientFilter filter = new OAuthClientFilter(client().getProviders(), params, secrets);
WebResource webResource = resource();
webResource.addFilter(filter);
String responseMsg = webResource.path("oauth").get(String.class);
sağlayıcı tarafında: istemci tarafında (Jersey API kullanarak) için
<?php
require_once 'oauth.php';
$key = 'consumerKey';
$secret = 'secretKey';
$consumer = new OAuthConsumer($key, $secret);
$api_endpoint = 'http://localhost:9998/oauth';
$sig_method = new OAuthSignatureMethod_HMAC_SHA1;
$parameters = null;
$req = OAuthRequest::from_consumer_and_token($consumer, null, "GET", $api_endpoint, $parameters);
$sig_method = new OAuthSignatureMethod_HMAC_SHA1();
$req->sign_request($sig_method, $consumer, null);//note: double entry of token
//get data using signed url
$ch = curl_init($req->to_url());
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$res = curl_exec($ch);
echo $res;
curl_close($ch);
Eğer iki ayaklı google Eğer Oauth, açıkladığınız durum için onu kullanabileceğinizi göreceksiniz. Üçüncü bir tarafın bulunmadığı durumlarda (API'nin hizmetini yapan kişiler, değiştirdikleri verilere sahip olacaklardır), daha sonra yönlendirme gerekli değildir. OAuth 2.0 taslağında, SSL üzerinden yapılan bağlantılar artık imza isteğinde bulunmayı gerektirmiyor. – patrickmcgraw
Evet, bunun en iyi yaklaşım olduğunu düşünün, isteğinizle parola göndermeniz gerekmediğinden, http kimlik doğrulamasından daha güvenlidir. – abovesun