UserInfo uç noktasını Microsoft kimlik platformu

OpenID Bağlan (OIDC) standardının bir parçası olarak, UserInfo uç noktası kimliği doğrulanmış bir kullanıcı hakkındaki bilgileri döndürür.

.well-known yapılandırma uç noktasını bulma

UserInfo uç noktasını, konumundaki userinfo_endpointhttps://login.microsoftonline.com/common/v2.0/.well-known/openid-configurationOpenID yapılandırma belgesinin alanını okuyarak program aracılığıyla bulabilirsiniz. Uygulamalarınızda UserInfo uç noktasını sabit kodlamanızı önermiyoruz. Bunun yerine, çalışma zamanında uç noktayı bulmak için OIDC yapılandırma belgesini kullanın.

UserInfo uç noktası genellikle kullanıcı hakkında bilgi almak için OIDC uyumlu kitaplıklar tarafından otomatik olarak çağrılır. OIDC standardında tanımlanan talep listesinden, Microsoft kimlik platformu kullanılabilir olduğunda ve onaylandığında ad beyanlarını, konu talebi ve e-postayı oluşturur.

Bunun yerine kimlik belirteci kullanmayı göz önünde bulundurun

Kimlik belirtecindeki bilgiler, UserInfo uç noktasında bulunan bilgilerin üst kümesidir. UserInfo uç noktasını çağırmak için aynı anda bir kimlik belirteci alabildiğiniz için, UserInfo uç noktasını çağırmak yerine kullanıcının bilgilerini belirteçten almanızı öneririz. UserInfo uç noktasını çağırmak yerine kimlik belirtecinin kullanılması en fazla iki ağ isteğini ortadan kaldırarak uygulamanızdaki gecikme süresini azaltır.

Yönetici veya iş unvanı gibi kullanıcı hakkında daha fazla ayrıntıya ihtiyacınız varsa Microsoft Graph /user API'sini çağırın. Ayrıca, kimlik ve erişim belirteçlerinize ek kullanıcı bilgileri eklemek için isteğe bağlı talepleri de kullanabilirsiniz.

UserInfo uç noktasını çağırma

UserInfo, Microsoft Graph tarafından barındırılan standart bir OAuth taşıyıcı belirteç API'dir. Uygulamanızın Microsoft Graph'e erişim isteğinde bulunurken aldığı erişim belirtecini kullanarak herhangi bir Microsoft Graph API'sini çağıracağınız gibi UserInfo uç noktasını çağırın. UserInfo uç noktası, kullanıcı hakkındaki talepleri içeren bir JSON yanıtı döndürür.

İzinler

UserInfo API'sini çağırmak için aşağıdaki OIDC izinlerini kullanın. Talep openid gereklidir ve profile ve email kapsamları yanıtta ek bilgilerin sağlanmasını sağlar.

İzin türü İzinler
Temsilci (iş veya okul hesabı) openid (gerekli), profile, email
Temsilci (kişisel Microsoft hesabı) openid (gerekli), profile, email
Uygulama Uygulanamaz

Bahşiş

UserInfo uç noktası için erişim belirteci ve kimlik belirteci almak için tarayıcınızda bu URL'yi kopyalayın. İstemci kimliğini ve yeniden yönlendirme URI'sini bir uygulama kaydındaki değerlerle değiştirin.

https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=<yourClientID>&response_type=token+id_token&redirect_uri=<YourRedirectUri>&scope=user.read+openid+profile+email&response_mode=fragment&state=12345&nonce=678910

Sonraki bölümde sorguda döndürülen erişim belirtecini kullanabilirsiniz.

Microsoft Graph, uygulamanızın bunu okuma veya doğrulama becerisini etkileyebilecek özel bir belirteç verme düzeni kullanır. Diğer tüm Microsoft Graph belirteçleri gibi, burada aldığınız belirteç bir JWT olmayabilir ve uygulamanız bunu donuk olarak düşünmelidir. Bir Microsoft hesabı kullanıcısında oturum açtıysanız, bu şifreli bir belirteç biçimi olacaktır. Ancak bu faktörlerden hiçbiri uygulamanızın UserInfo uç noktasına yapılan bir istekte erişim belirtecini kullanma becerisini etkilemez.

API'yi çağırma

UserInfo API'si hem GET hem de POST isteklerini destekler.

GET or POST /oidc/userinfo HTTP/1.1
Host: graph.microsoft.com
Authorization: Bearer eyJ0eXAiOiJKV1QiLCJub25jZSI6Il…

UserInfo yanıtı

{
    "sub": "OLu859SGc2Sr9ZsqbkG-QbeLgJlb41KcdiPoLYNpSFA",
    "name": "Mikah Ollenburg", // all names require the “profile” scope.
    "family_name": " Ollenburg",
    "given_name": "Mikah",
    "picture": "https://graph.microsoft.com/v1.0/me/photo/$value",
    "email": "mikoll@contoso.com" // requires the “email” scope.
}

Yanıtta gösterilen taleplerin tümü UserInfo uç noktasının döndürebileceği taleplerdir. Bu değerler, kimlik belirtecinde bulunan değerlerle aynıdır.

UserInfo uç noktasında notlar ve uyarılar

UserInfo uç noktası tarafından döndürülen bilgileri ekleyemez veya özelleştiremezsiniz.

Kimlik doğrulama ve yetkilendirme sırasında kimlik platformu tarafından döndürülen bilgileri özelleştirmek için, güvenlik belirteci yapılandırmasını değiştirmek için talep eşlemesini ve isteğe bağlı beyanları kullanın.

Sonraki adımlar