Hangisi daha güvenli ve neden?
Her ikisi de güvenlidir, kullandığınız ortama bağlıdır.
Sunucu doğrudan bir Access belirteci verebilir zaman bir iş akışında fazladan bir adım (belirteç için yetkilendirme kodu) eklendi neden görmüyorum.
Basit. Müşteriniz güvenli değil. Ayrıntılara bakalım.
Karşı bir uygulama geliştirdiğinizi düşünün Instagram API
, böylece APP ile kayıt Instagram
ve API's
ihtiyacınız olanı tanımlayın . Instagram
sana sağlayacak client_id
veclient_secrect
Web sitenizde yazan bir bağlantı oluşturursunuz. "Gel ve Uygulamamı Kullan". Buna tıklayarak web uygulamanız iki arama yapmalıdır Instagram API
.
First
Instagram Authentication Server
Aşağıdaki parametrelerle bir istek gönderin .
1. `response_type` with the value `code`
2. `client_id` you have get from `Instagram`
3. `redirect_uri` this is a url on your server which do the second call
4. `scope` a space delimited list of scopes
5. `state` with a CSRF token.
Göndermezsinizclient_secret
, istemciye güvenemezsiniz (Uygulamayı kullanmaya çalışan kullanıcı veya tarayıcısı). İstemci url veya java betiğini görebilir ve client_secrect
kolayca bulabilir . Bu yüzden başka bir adıma ihtiyacın var.
Bir code
ve alırsınız state
. code
Burada temporary
herhangi bir yerde kaydedilmez.
O zaman bir hale second
çağrısına Instagram API
(sunucunuzdan)
1. `grant_type` with the value of `authorization_code`
2. `client_id` with the client identifier
3. `client_secret` with the client secret
4. `redirect_uri` with the same redirect URI the user was redirect back to
5. `code` which we have already received.
Arama sunucumuzdan yapıldığından , kullanıcının kaynağı kullanmak için verdiği izni güvenli bir şekilde kullanabiliriz client_secret
(bu nasıl olduğumuzu gösterir) .code
client_id
Yanıt olarak sahip olacağız access_token