OAuth Uygulamalarını Yetkilendirme

Kuruluş üyelerinin OAuth uygulamanızı yetkilendirmesini sağlayabilirsiniz.

Bir OAuth uygulaması oluşturduğunuzda, bir yetkilendirme kodu almak için aşağıda açıklanan web uygulaması akışını uygulayın ve ardından bir belirteç için takas edin.

Yetkilendirme Kodu İsteyin

Aşağıdaki GET parametreleriyle kullanıcıyı /oauth/authorize uç noktasına yönlendirmelisiniz:

GET https://accounts.crowdin.com/oauth/authorize

Bu, kullanıcıdan REQUESTED_SCOPES içinde belirtilen kapsamlara dayanarak uygulama hesabına erişimini onaylamasını isteyecek ve ardından bir uygulama oluştururken verdiğiniz REDIRECT_URI adresine geri yönlendirecek.

Parametreler

Ad Değer Açıklama
client_id dizgi Zorunlu. Uygulamayı kaydettiğinizde Müşteri Kimliğini alırsınız.
redirect_uri dizgi Zorunlu. Uygulamanızdaki, yetkilendirmeden sonra kullanıcıların gönderileceği URL.
response_type: code dizgi Zorunlu. Parametre, bir OAuth uygulamasının akış özellikleri için kullanılır.
scope dizgi Zorunlu. Uygulamanızın gerektirdiği erişimi kullanılabilir kapsamlar listesinden seçin. Boşluklarla ayrılmış birden çok kapsam ekleyebilirsiniz (tırnak işareti kullanmanıza gerek yoktur).
state dizgi Tahmin edilemez rastgele bir dizgi. Siteler arası istek sahtekarlığı saldırılarına karşı fazladan koruma için kullanın.

Aşağıdaki Yetkilendirme Url’si oluşturulacaktır:

https://accounts.crowdin.com/oauth/authorize?client_id=m50YenPpqac8u5D4dnK&redirect_uri=https://impact-mobile.com/auth/crowdin&response_type=code&scope=project+tm&state=d131dd02c5e6eec4

Başarılı yetkilendirmeden sonra kullanıcılar sitenize geri yönlendirilir:

https://impact-mobile.com/auth/crowdin/?code=def50200df1fbb5ebac05f9288850d9e...0835bd3cf42&state=d131dd02c5e6eec4

Eğer yetkilendirme reddedildiyse, kullanıcılar bir hatayla web sitenize yönlendirilir:

https://impact-mobile.com/auth/crowdin/?error=access_denied&state=d131dd02c5e6eec4

Kullanıcılar Crowdin tarafından Sitenize Geri Yönlendirilir

Eğer bir kullanıcı uygulamayı yetkilendirirse, Crowdin sitenize geri yönlendirir ve bir erişim belirteci için alınan kodu takas edebilirsiniz:

POST https://accounts.crowdin.com/oauth/token

Parametreler

Ad Değer Açıklama
grant_type: authorization_code dizgi Zorunlu. Parametre, bir OAuth uygulamasının akış özellikleri için kullanılır.
client_id dizgi Zorunlu. Uygulamayı kaydettiğinizde Müşteri Kimliğini alırsınız.
client_secret dizgi Zorunlu. Uygulamayı kaydettiğinizde Müşteri Gizli Anahtarını alırsınız.
redirect_uri dizgi Zorunlu. Uygulamanızdaki, yetkilendirmeden sonra kullanıcıların gönderileceği URL.
code dizgi Zorunlu. Geri çağırma sorgusu dizgisinden alınan kod.

Örneğin, curl içindeki istek aşağıdaki şekli alır:

curl -X POST \
https://accounts.crowdin.com/oauth/token \
-H "content-type: application/json" \
-d "{ \"grant_type\":\"authorization_code\", \"client_id\":\"m50YenPpqac8u5D4dnK\", \"client_secret\":\"yz35kYtjox...YE9Am\", \"redirect_uri\":\"https://impact-mobile.com/auth/crowdin\", \"code\":\"def50200df1fbb5ebac05f9288850d9e...0835bd3cf42\" }"

Yanıt

Varsayılan olarak, yanıt aşağıdaki şekli alır:

{
    "access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJS...lag1e_Zk4EdJ5diYfz0",
    "token_type":"bearer",
    "expires_in": 7200,
    "refresh_token": "b213c684ccaa7db1217e946e6ad...fff7ae"
}

Döndürülen Erişim Belirteci ile API’ye İstekler Yapın

Erişim belirteci artık yetkili kullanıcı adına Crowdin API’sine istekte bulunmanıza izin veriyor.

Örneğin, curl içinde aşağıdaki Yetkilendirme üstbilgisini ayarlayabilirsiniz:

curl -H "Authorization: Bearer ACCESS_TOKEN" https://api.crowdin.com/api/v2/projects

Crowdin Enterprise:

curl -H "Authorization: Bearer ACCESS_TOKEN" https://<organization_domain>.api.crowdin.com/api/v2/projects
Not: Crowdin Enterprise kuruluş_etki_alanı’nı elde etmek için JWT özelliklerine göre yapılandırılmış erişim belirtecini ayrıştırın ve gerekli kuruluş_etki_alanı’nı ondan çıkarın.

JWT Belirteci Yapısı hakkında daha fazlasını okuyun.

Belirteci Yenileyin

Bir kullanıcı uygulamayı yetkilendirdikten sonra alınan erişim belirtecinin bir sona erme süresi vardır. Erişim belirtecinin süresi, yanıtta tanımlanan saniye olarak sona erer.

Kullanıcının yönlendirilmesini gerektirmeden bir belirteci yenilemek için yetkilendirme sunucusuna aşağıdaki gövde parametreleriyle birlikte bir POST isteği gönderin:

POST https://accounts.crowdin.com/oauth/token

Parametreler

Ad Değer Açıklama
grant_type: refresh_token dizgi Zorunlu. Parametre, bir OAuth uygulamasının akış özellikleri için kullanılır.
client_id dizgi Zorunlu. Uygulamayı kaydettiğinizde Müşteri Kimliğini alırsınız.
client_secret dizgi Zorunlu. Uygulamayı kaydettiğinizde Müşteri Gizli Anahtarını alırsınız.
refresh_token dizgi Zorunlu. Son yetkilendirme yanıtından alınan belirteci yenileyin.

Örneğin, curl içindeki istek aşağıdaki şekli alır:

curl -X POST \
https://accounts.crowdin.com/oauth/token \
-H "content-type: application/json" \
-d "{ \"grant_type\":\"refresh_token\", \"client_id\":\"m50YenPpqac8u5D4dnK\", \"client_secret\":\"yz35kYtjox...YE9Am\", \"refresh_token\":\"b213c684ccaa7db1217e946e6ad...fff7ae\" }"

Yanıt

Varsayılan olarak, yanıt aşağıdaki şekli alır:

{
    "access_token":"eyJ0eXAiOiJKV1QiLCJhbGciOiJS...ZjFkMWI4OWFlIiwiaWF",
    "token_type":"bearer",
    "expires_in": 7200,
    "refresh_token": "ea506ea4c37aa152f0a91ed2482...4a0c567"
}

URL’leri Yönlendirin

Crowdin’de bir OAuth Uygulaması oluşturduğunuzda bir veya daha fazla yönlendirme URL’si kaydedebilirsiniz.

Güvenlik nedeniyle, eğer URL Uygulama bilgisi içine dahil edilmemişse, yetkilendirme sonrasında kullanıcıları bu URL’ye yönlendiremeyeceksiniz.

Bu makale yararlı oldu mu?