Aracılığıyla paylaş


Kimlik bilgisi yöneticisini yapılandırma - GitHub API'si

UYGULANANLAR: Tüm API Management katmanları

Bu makalede, API Management'ta yönetilen bağlantı oluşturmayı ve OAuth 2.0 belirteci gerektiren bir GitHub API'sini çağırmayı öğreneceksiniz. Bu örnekte yetkilendirme kodu verme türü kullanılmaktadır.

Şunları yapmayı öğreneceksiniz:

  • GitHub'da uygulama kaydetme
  • API Management'ta kimlik bilgisi sağlayıcısı yapılandırma
  • Bağlantı yapılandırma
  • API Management'ta API oluşturma ve ilke yapılandırma
  • API Management'ta GitHub API'nizi test edin

Önkoşullar

1. Adım: GitHub'a uygulama kaydetme

API için bir GitHub OAuth uygulaması oluşturun ve çağırmak istediğiniz istekler için uygun izinleri verin.

  1. GitHub'da oturum açın.

  2. Hesap profilinizde Ayarlar > Geliştirici Ayarları > OAuth Uygulamaları'na gidin.Yeni OAuth uygulaması'ni seçin.

    GitHub'da yeni bir OAuth uygulaması kaydetme işleminin ekran görüntüsü.

    1. Uygulama için bir Uygulama adı ve Giriş Sayfası URL'si girin. Bu örnekte gibi http://localhostbir yer tutucu URL sağlayabilirsiniz.
    2. İsteğe bağlı olarak bir Uygulama açıklaması ekleyin.
    3. Yetkilendirme geri çağırma URL'si (yeniden yönlendirme URL'si) alanına, kimlik bilgisi sağlayıcısını yapılandırdığınız API Management örneğinin adını girerek https://authorization-manager.consent.azure-apim.net/redirect/apim/<YOUR-APIM-SERVICENAME> yazın.
    4. İsteğe bağlı olarak Cihaz akışını etkinleştir 'i seçin (bu örnek için gerekli değildir).
  3. Uygulamayı kayıt et seçin.

  4. Genel sayfasında, 2. Adımda kullandığınız İstemci Kimliğini kopyalayın.

  5. Yeni bir istemci gizli anahtarı oluştur seçeneğini seçin. Tekrar görüntülenmeyen gizli diziyi kopyalayın. Gizli diziyi 2. Adımda yapılandırabilirsiniz.

    GitHub'da uygulama için istemci kimliğini ve istemci gizli dizisini alma işlemini gösteren ekran görüntüsü.

2. Adım: API Management'ta kimlik bilgisi sağlayıcısı yapılandırma

  1. Azure portalında oturum açın ve API Management örneğinize gidin.

  2. Sol menüde API'ler>Kimlik Bilgisi yöneticisi>+ Oluştur'u seçin.

    Azure portalında API Management kimlik bilgisi oluşturma işleminin ekran görüntüsü.

  3. Kimlik bilgisi sağlayıcısı oluştur bölümünde aşağıdaki ayarları girin:

    Settings Değer
    Kimlik bilgisi sağlayıcısı adı Github-01 gibi seçtiğiniz bir ad
    Kimlik sağlayıcısı GitHub'ı seçin
    Verme türü Yetkilendirme kodunu seçin
    Müşteri Kimliği Uygulama kaydından daha önce kopyaladığınız değeri yapıştırın
    İstemci sırrı Uygulama kaydından daha önce kopyaladığınız değeri yapıştırın
    Scope Bu örnek için kapsamı Kullanıcı olarak ayarlayın
  4. Oluştur'i seçin.

  5. İstendiğinde, görüntülenen OAuth yeniden yönlendirme URL'sini gözden geçirin ve GitHub uygulama kaydında girdiğiniz URL ile eşleşip eşleşmediğini onaylamak için Evet'i seçin.

3. Adım: Bağlantı yapılandırma

Bağlantı sekmesinde, sağlayıcıyla bağlantınızın adımlarını tamamlayın.

Uyarı

Bir bağlantı yapılandırdığınızda, API Management varsayılan olarak sistem tarafından örneğe atanan yönetilen kimlik ile erişimi sağlayacak bir erişim politikası ayarlar. Bu erişim bu örnek için yeterlidir. Gerektiğinde ek erişim ilkeleri ekleyebilirsiniz.

  1. Bir Bağlantı adı girin ve Kaydet'i seçin.
  2. 2. Adım: Bağlantınızda oturum açın (yetkilendirme kodu verme türü için) altında Oturum aç düğmesini seçin. Erişimi yetkilendirmek ve API Management'a dönmek için kimlik sağlayıcınızla adımları tamamlayın.
  3. 3. Adım: Bu bağlantıya kimlerin erişeceğini belirleme (Erişim ilkesi) altında, yönetilen kimlik üyesi listelenir. Senaryonuza bağlı olarak diğer üyeleri eklemek isteğe bağlıdır.
  4. Tamamla'yı seçin.

Yeni bağlantı, bağlantılar listesinde görünür ve Bağlı durumunu gösterir. Kimlik bilgisi sağlayıcısı için başka bir bağlantı oluşturmak istiyorsanız, önceki adımları tamamlayın.

Tip

İstediğiniz zaman bir kimlik bilgisi sağlayıcısına bağlantı eklemek, güncelleştirmek veya silmek için Azure portalını kullanın. Daha fazla bilgi için bkz. Birden çok bağlantı yapılandırma.

4. Adım: API Management'ta API oluşturma ve ilke yapılandırma

  1. Azure portalında oturum açın ve API Management örneğinize gidin.

  2. Sol menüde API'ler>API'ler>+ API Ekle seçin.

  3. HTTP'yi seçin ve aşağıdaki ayarları girin, ardından Oluştur'u seçin.

    Setting Değer
    Görüntü adı githubuser
    Web hizmeti URL'si https://api.github.com
    API URL'si son eki githubuser
  4. Yeni API'ye gidin ve İşlem Ekle'yi seçin. Aşağıdaki ayarları girin ve Kaydet'i seçin.

    Setting Değer
    Görüntü adı getauthdata
    GET URL'si /user

    Portalda API'ye getauthdata işlemi ekleme işleminin ekran görüntüsü.

  5. Aşağıdaki ayarlarla başka bir işlem eklemek için önceki adımları izleyin.

    Setting Değer
    Görüntü adı getauthfollowers
    GET URL'si /user/takipçiler
  6. Tüm işlemler'i seçin. Gelen işleme bölümünde (/<) (>kod düzenleyicisi) simgesini seçin.

  7. Aşağıdaki kodu kopyalayıp ilke düzenleyicisine yapıştırın. provider-id ve authorization-id değerlerinin, ilke içindeki get-authorization-context ayarında, önceki adımlarda yapılandırdığınız kimlik bilgisi sağlayıcısının ve bağlantının adlarına karşılık geldiğinden emin olun. Kaydetseçeneğini seçin.

    <policies>
        <inbound>
            <base />
            <get-authorization-context provider-id="github-01" authorization-id="first-connection" context-variable-name="auth-context" identity-type="managed" ignore-error="false" />
            <set-header name="Authorization" exists-action="override">
                <value>@("Bearer " + ((Authorization)context.Variables.GetValueOrDefault("auth-context"))?.AccessToken)</value>
            </set-header>
            <set-header name="User-Agent" exists-action="override">
                <value>API Management</value>
            </set-header>
        </inbound>
        <backend>
            <base />
        </backend>
        <outbound>
            <base />
        </outbound>
        <on-error>
            <base />
        </on-error>
    </policies>
    

Yukarıdaki ilke tanımı üç bölümden oluşur:

  • get-authorization-context ilkesi, daha önce oluşturduğunuz kimlik bilgisi sağlayıcısına ve bağlantıya başvurarak bir yetkilendirme belirteci getirir.
  • İlk set-header ilkesi, getirilen yetkilendirme belirteciyle bir HTTP üst bilgisi oluşturur.
  • İkinci başlık belirleyici politikası, GitHub API gereksinimleri doğrultusunda bir User-Agent üst bilgi yaratır.

5. Adım: API'yi test edin

  1. Test sekmesinde, yapılandırdığınız bir işlemi seçin.

  2. Gönder'i seçin.

    Portalda API'yi başarıyla test etme işleminin ekran görüntüsü.

    Başarılı bir yanıt GitHub API'sinden kullanıcı verilerini döndürür.