Microsoft Kimlik Doğrulama Kitaplığı ile kullanıcılarda oturum açma

Tamamlandı

Web uygulamanızı Microsoft Entra Id ile kaydettiniz. Artık uygulamanızdaki kullanıcılarda oturum açmak için kimlik doğrulama kodunu eklemeye hazırsınız ve kimlik doğrulama ayrıntılarını sizin yerinize işleyebilen bir SDK kullanmak istiyorsunuz. Bu ünitede Java için Microsoft Authentication Library (MSAL4J) ve kimlik doğrulamasına nasıl yardımcı olduğu hakkında bilgi edineceksiniz.

Java için Microsoft Kimlik Doğrulama Kitaplığı

Java için Microsoft Kimlik Doğrulama Kitaplığı (MSAL4J), uygulamaların Kullanıcıları veya uygulamaları Microsoft kimlikleriyle (Microsoft Entra Kimliği, Microsoft hesapları ve Azure Active Directory B2C hesapları) oturum açmasına ve Microsoft API'lerini veya Microsoft Entra Kimliği'ne kayıtlı kendi API'lerinizi çağırmak için belirteçler almasına olanak tanır. Endüstri standardı OAuth2 ve OpenID Bağlan protokolleri kullanılarak derlenir.

Kitaplık, farklı uygulama türleri için Microsoft Entra ID ile kimlik doğrulamasını etkinleştiren kullanışlı API'ler sağlar:

  • Web uygulamaları
  • Daemon hizmetleri
  • Komut satırı uygulamaları
  • Masaüstü uygulamaları

MSAL nesnesini başlatma

MSAL kullanmaya başlamak için uygulama kodunuzda MSAL nesnesini başlatmanız ve yapılandırmanız gerekir.

MSAL, istemci uygulamalarını genel istemciler ve gizli istemciler olarak temsil eder ve yetkilendirme sunucusuyla güvenli bir şekilde kimlik doğrulaması yapma ve istemci kimlik bilgilerinin gizliliğini koruma özellikleriyle ayırt edilir.

Gizli istemci uygulamaları, sunucularda (web uygulamaları, web API uygulamaları, hatta hizmet/daemon uygulamaları) çalışan uygulamalardır. Gizli istemciler yapılandırma zamanı uygulama gizli dizilerini barındırabilir.

Gizli istemcinin bir örneğini aşağıdaki gibi oluşturabilirsiniz:

IClientCredential credential = ClientCredentialFactory.createFromSecret(CLIENT_SECRET);
ConfidentialClientApplication app = ConfidentialClientApplication
                                        .builder(CLIENT_ID, credential)
                                        .authority(AUTHORITY)
                                        .build();
  • CLIENT_ID: İstemci kimliği, uygulama kaydedildiğinde Microsoft Entra Id tarafından uygulamanıza atanan benzersiz uygulama (istemci) kimliğidir.
  • CLIENT_SECRET: Gizli istemci uygulaması için gizli gizli dizi, uygulama kaydedildiğinde oluşturulur.
  • YETKILI: Yetkili, MSAL'nin belirteç isteğinde bulunabileceği bir dizini gösteren bir URL'dir. Uygulama için kimlik sağlayıcısı örneğinden ve oturum açma hedef kitlelerinden oluşur.

MSAL ile kimlik doğrulama belirteçleri alma

MSAL, kimlik doğrulama akışını başlatmak ve kimlik doğrulama belirteçlerini içeren bir AuthenticationResult döndürmek için yöntemler sağlaracquireToken.

Kullanıcı oturum açmayı tamamladığında, kimlik doğrulama sonucunda kullanıcı ilkesi adı, e-posta vb. gibi bazı temel kimlik doğrulama taleplerini içeren bir kimlik belirteci döndürülür.

MSAL ile belirteç alma örneği aşağıda verilmiştir:

final AuthorizationCodeParameters authParams = AuthorizationCodeParameters
                                                    .builder(authCode, new URI(Config.REDIRECT_URI)).scopes(Collections.singleton(Config.SCOPES))
                                                    .build();

final IAuthenticationResult result = app.acquireToken(authParams).get();
  • REDIRECT_URI: Yeniden yönlendirme URI'si, kimlik sağlayıcısının güvenlik belirteçlerini geri göndereceği URI'dir. Microsoft Entra uygulama kaydındaki yeniden yönlendirme URI'sine uyması gerekir.
  • KAPSAMLAR: Kapsamlar, uygulamanın istediği izinlerdir. Normalde, bir kullanıcı oturum açma için kimlik belirteci yanıtı almak için üç kapsam openid profile offline_access yeterlidir ve varsayılan olarak MSAL tarafından ayarlanır.

acquireToken Kullanıcılar için bir oturum açma akışı başlatırken ve verilere erişmek için API'leri çağırırken uygulamanızdaki yöntemleri kullanın.