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 Instagramve API'sihtiyacınız olanı tanımlayın . Instagramsana sağlayacak client_idveclient_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.
FirstInstagram Authentication ServerAş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_secrectkolayca bulabilir . Bu yüzden başka bir adıma ihtiyacın var.
Bir codeve alırsınız state. codeBurada temporaryherhangi 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) .codeclient_id
Yanıt olarak sahip olacağız access_token