Self servis kaydolmaya özel onay iş akışı ekleme
Şunlar için geçerlidir: İş gücü kiracıları
Dış kiracılar (daha fazla bilgi edinin)
API bağlayıcılarıyla, kiracınızda hangi konuk kullanıcı hesaplarının oluşturulduğunu yönetebilmek için self servis kaydolma ile kendi özel onay iş akışlarınızla tümleştirebilirsiniz.
Bu makalede bir onay sistemiyle tümleştirme örneği verilmektedir. Bu örnekte self servis kaydolma kullanıcı akışı, kayıt işlemi sırasında kullanıcı verilerini toplar ve onay sisteminize geçirir. Ardından onay sistemi şunları yapabilir:
- Kullanıcıyı otomatik olarak onaylayın ve Microsoft Entra Id'nin kullanıcı hesabını oluşturmasına izin verin.
- El ile gözden geçirme tetikleme. İstek onaylanırsa, onay sistemi kullanıcı hesabını sağlamak için Microsoft Graph kullanır. Onay sistemi, kullanıcıya hesabının oluşturulduğunu da bildirebilir.
Önemli
- 12 Temmuz 2021'den itibaren, Microsoft Entra B2B müşterileri özel veya iş kolu uygulamaları için self servis kaydolma ile kullanılmak üzere yeni Google tümleştirmeleri ayarlarsa, kimlik doğrulamaları sistem web görünümlerine taşınana kadar Google kimlikleriyle kimlik doğrulaması çalışmaz. Daha fazla bilgi edinin.
- Google, 30 Eylül 2021'den itibaren tümleşik web görünümü oturum açma desteğini kullanımdan kaldırıyor. Uygulamalarınız ekli web görünümüyle kullanıcıların kimliğini doğrularsa ve dış kullanıcı davetleri veya self servis kaydolma için Azure AD B2C veya Microsoft Entra B2B ile Google federasyonu kullanıyorsanız, Google Gmail kullanıcıları kimlik doğrulaması yapamaz. Daha fazla bilgi edinin.
Onay sisteminiz için bir uygulama kaydetme
Microsoft Entra Kimliği ile kimlik doğrulaması yapmak ve kullanıcı oluşturma iznine sahip olmak için onay sisteminizi Microsoft Entra kiracınıza bir uygulama olarak kaydetmeniz gerekir. Microsoft Graph için kimlik doğrulaması ve yetkilendirmeyle ilgili temel bilgiler hakkında daha fazla bilgi edinin.
- Microsoft Entra yönetim merkezinde en az Bir Kullanıcı Yöneticisi olarak oturum açın.
- Kimlik>> göz atın Uygulama kayıtları ve ardından Yeni kayıt'ı seçin.
- Uygulama için bir Ad girin, örneğin , Kaydolma Onayları.
- Kaydet'i seçin. Diğer alanları varsayılan değerlerinde bırakabilirsiniz.
- Soldaki menüden Yönet'in altında API izinleri'ni ve ardından İzin ekle'yi seçin.
- API izinleri iste sayfasında Microsoft Graph'ı ve ardından Uygulama izinleri'ni seçin.
- İzinleri seçin'in altında Kullanıcı'yı genişletin ve ardından User.ReadWrite.All onay kutusunu seçin. Bu izin onay sisteminin onay üzerine kullanıcı oluşturmasına olanak tanır. Ardından İzin ekle'yi seçin.
- API izinleri sayfasında Yönetici onayı ver 'i (kiracı adınız) ve ardından Evet'i seçin.
- Soldaki menüde Yönet'in altında Sertifikalar ve gizli diziler'i ve ardından Yeni istemci gizli dizisi'ni seçin.
- Gizli dizi için bir Açıklama girin, örneğin Onaylar istemci gizli dizisi ve istemci gizli dizisinin Süresi Dolduğunda kullanılacak süreyi seçin. Ardından Ekle'yi seçin.
- İstemci gizli dizisinin değerini kopyalayın. İstemci gizli anahtarı değerleri yalnızca oluşturulduktan hemen sonra görüntülenebilir. Sayfadan çıkmadan önce, oluşturulduğunda gizli diziyi kaydettiğinizden emin olun.
- Onay sisteminizi, Uygulama Kimliği'ni istemci kimliği olarak ve Microsoft Entra Kimliği ile kimlik doğrulaması yapmak için oluşturduğunuz istemci gizli dizisi olarak kullanacak şekilde yapılandırın.
API bağlayıcıları oluşturma
Ardından self servis kaydolma kullanıcı akışınız için API bağlayıcıları oluşturacaksınız. Onay sistemi API'nizin aşağıda gösterilen örnekler gibi iki bağlayıcıya ve buna karşılık gelen uç noktalara ihtiyacı vardır. Bu API bağlayıcıları aşağıdakileri yapar:
- Onay durumunu denetleyin. Kullanıcının bir kimlik sağlayıcısıyla oturum açmasının hemen ardından onay sistemine bir çağrı göndererek kullanıcının mevcut bir onay isteğine sahip olup olmadığını veya zaten reddedilip reddedildiğini denetleyin. Onay sisteminiz yalnızca otomatik onay kararları verirse, bu API bağlayıcısı gerekli olmayabilir. "Onay durumunu denetle" API bağlayıcısı örneği.
- Onay isteme - Kullanıcı öznitelik toplama sayfasını tamamladıktan sonra ancak kullanıcı hesabı oluşturulmadan önce onay istemek için onay sistemine bir çağrı gönderin. Onay isteği otomatik olarak verilebilir veya el ile gözden geçirilebilir. "Onay iste" API bağlayıcısı örneği.
Bu bağlayıcıları oluşturmak için API bağlayıcısı oluşturma başlığındaki adımları izleyin.
Kullanıcı akışında API bağlayıcılarını etkinleştirme
Şimdi şu adımları izleyerek API bağlayıcılarını bir self servis kaydolma kullanıcı akışına ekleyeceksiniz:
Microsoft Entra yönetim merkezinde en az Bir Kullanıcı Yöneticisi olarak oturum açın.
KimlikDış kimlikleri>> Kullanıcı akışları'na gidin ve ARDıNDAN API bağlayıcısını etkinleştirmek istediğiniz kullanıcı akışını seçin.
API bağlayıcıları'nı seçin ve ardından kullanıcı akışında aşağıdaki adımlarda çağırmak istediğiniz API uç noktalarını seçin:
- Kaydolma sırasında bir kimlik sağlayıcısıyla federasyon kurduktan sonra: Onay durumu API bağlayıcınızı seçin, örneğin Onay durumunu denetle.
- Kullanıcıyı oluşturmadan önce: Onay isteği API bağlayıcınızı seçin, örneğin Onay iste.
- Kaydet'i seçin.
API yanıtları ile kaydolma akışını denetleme
Onay sisteminiz, kayıt akışını denetlemek için çağrıldığında yanıtlarını kullanabilir.
"Onay durumunu denetle" API bağlayıcısı için istek ve yanıtlar
"Onay durumunu denetle" API bağlayıcısından API tarafından alınan istek örneği:
POST <API-endpoint>
Content-type: application/json
{
"email": "johnsmith@fabrikam.onmicrosoft.com",
"identities": [ //Sent for Google, Facebook, and Email One Time Passcode identity providers
{
"signInType":"federated",
"issuer":"facebook.com",
"issuerAssignedId":"0123456789"
}
],
"displayName": "John Smith",
"givenName":"John",
"lastName":"Smith",
"ui_locales":"en-US"
}
API'ye gönderilen tam talepler, kimlik sağlayıcısı tarafından hangi bilgilerin sağlandığına bağlıdır. 'e-posta' her zaman gönderilir.
"Onay durumunu denetle" için devam yanıtı
Onay durumunu denetle API'sinin uç noktası şu durumda bir devamlılık yanıtı döndürmelidir:
- Kullanıcı daha önce onay istememiştir.
Devamlılık yanıtı örneği:
HTTP/1.1 200 OK
Content-type: application/json
{
"version": "1.0.0",
"action": "Continue"
}
"Onay durumunu denetle" için engelleme yanıtı
Onay durumunu denetle API'sinin uç noktası şu durumda bir engelleme yanıtı döndürmelidir:
- Kullanıcı onayı bekleniyor.
- Kullanıcı reddedildi ve bir daha onay istemesine izin verilmemesi gerekiyor.
Engelleyici yanıt örnekleri aşağıda verilmiştir:
HTTP/1.1 200 OK
Content-type: application/json
{
"version": "1.0.0",
"action": "ShowBlockPage",
"userMessage": "Your access request is already processing. You'll be notified when your request has been approved.",
}
HTTP/1.1 200 OK
Content-type: application/json
{
"version": "1.0.0",
"action": "ShowBlockPage",
"userMessage": "Your sign up request has been denied. Please contact an administrator if you believe this is an error",
}
"Onay iste" API bağlayıcısı için istek ve yanıtlar
"Onay iste" API bağlayıcısından API tarafından alınan HTTP isteği örneği:
POST <API-endpoint>
Content-type: application/json
{
"email": "johnsmith@fabrikam.onmicrosoft.com",
"identities": [ // Sent for Google, Facebook, and Email One Time Passcode identity providers
{
"signInType":"federated",
"issuer":"facebook.com",
"issuerAssignedId":"0123456789"
}
],
"displayName": "John Smith",
"givenName":"John",
"surname":"Smith",
"jobTitle":"Supplier",
"streetAddress":"1000 Microsoft Way",
"city":"Seattle",
"postalCode": "12345",
"state":"Washington",
"country":"United States",
"extension_<extensions-app-id>_CustomAttribute1": "custom attribute value",
"extension_<extensions-app-id>_CustomAttribute2": "custom attribute value",
"ui_locales":"en-US"
}
API'ye gönderilen tam talepler, kullanıcıdan hangi bilgilerin toplandığına veya kimlik sağlayıcısı tarafından sağlandığına bağlıdır.
"Onay iste" için devam yanıtı
İstek onayı API'sinin uç noktası aşağıdakiler durumunda bir devamlılık yanıtı döndürmelidir:
- Kullanıcı otomatik olarak onaylanabilir.
Devamlılık yanıtı örneği:
HTTP/1.1 200 OK
Content-type: application/json
{
"version": "1.0.0",
"action": "Continue"
}
Önemli
Devam yanıtı alınırsa, Microsoft Entra Id bir kullanıcı hesabı oluşturur ve kullanıcıyı uygulamaya yönlendirir.
"Onay iste" için Engelleme Yanıtı
İstek onayı API'sinin uç noktası aşağıdakiler durumunda bir engelleme yanıtı döndürmelidir:
- Bir kullanıcı onay isteği oluşturuldu ve şu anda beklemede.
- Kullanıcı onay isteği otomatik olarak reddedildi.
Engelleyici yanıt örnekleri aşağıda verilmiştir:
HTTP/1.1 200 OK
Content-type: application/json
{
"version": "1.0.0",
"action": "ShowBlockPage",
"userMessage": "Your account is now waiting for approval. You'll be notified when your request has been approved.",
}
HTTP/1.1 200 OK
Content-type: application/json
{
"version": "1.0.0",
"action": "ShowBlockPage",
"userMessage": "Your sign up request has been denied. Please contact an administrator if you believe this is an error",
}
userMessage
yanıttaki kullanıcı için görüntülenir, örneğin:
El ile onaydan sonra kullanıcı hesabı oluşturma
Özel onay sistemi el ile onay aldıktan sonra Microsoft Graph kullanarak bir kullanıcı hesabı oluşturur. Onay sisteminizin kullanıcı hesabını sağlama şekli, kullanıcı tarafından kullanılan kimlik sağlayıcısına bağlıdır.
Federasyon Google veya Facebook kullanıcısı ve tek seferlik geçiş kodu e-postası için
Önemli
Onay sistemi, ve'nin mevcut olup olmadığını identities
identities[0]
identities[0].issuer
ve bu yöntemi kullanmak için 'facebook', 'google' veya 'mail' değerine eşit olduğunu identities[0].issuer
açıkça denetlemelidir.
Kullanıcınız bir Google veya Facebook hesabıyla oturum açtıysa veya bir kerelik geçiş kodu e-posta ile oturum açtıysa, Kullanıcı oluşturma API'sini kullanabilirsiniz.
- Kullanılan onay sistemi, kullanıcı akışından HTTP isteğini alır.
POST <Approvals-API-endpoint>
Content-type: application/json
{
"email": "johnsmith@outlook.com",
"identities": [
{
"signInType":"federated",
"issuer":"facebook.com",
"issuerAssignedId":"0123456789"
}
],
"displayName": "John Smith",
"city": "Redmond",
"extension_<extensions-app-id>_CustomAttribute": "custom attribute value",
"ui_locales":"en-US"
}
- Onay sistemi, kullanıcı hesabı oluşturmak için Microsoft Graph kullanır.
POST https://graph.microsoft.com/v1.0/users
Content-type: application/json
{
"userPrincipalName": "johnsmith_outlook.com#EXT@contoso.onmicrosoft.com",
"accountEnabled": true,
"mail": "johnsmith@outlook.com",
"userType": "Guest",
"identities": [
{
"signInType":"federated",
"issuer":"facebook.com",
"issuerAssignedId":"0123456789"
}
],
"displayName": "John Smith",
"city": "Redmond",
"extension_<extensions-app-id>_CustomAttribute": "custom attribute value"
}
Parametre | Zorunlu | Açıklama |
---|---|---|
userPrincipalName | Yes | API'ye email gönderilen talep alınarak, karakteri ile @ değiştirilerek ve ön beklemede olarak _ olarak değiştirilerek #EXT@<tenant-name>.onmicrosoft.com oluşturulabilir. |
accountEnabled | Yes | olarak ayarlanmalıdır true . |
posta | Yes | API'ye email gönderilen taleple eşdeğerdir. |
userType | Yes | olmalıdır Guest . Bu kullanıcıyı konuk kullanıcı olarak belirler. |
Kimlik | Yes | Federasyon kimlik bilgileri. |
<otherBuiltInAttribute> | Hayır | , displayName ve diğerleri gibi city diğer yerleşik öznitelikler. Parametre adları, API bağlayıcısı tarafından gönderilen parametrelerle aynıdır. |
<extension_{extensions-app-id}_CustomAttribute> | Hayır | Kullanıcı hakkındaki özel öznitelikler. Parametre adları, API bağlayıcısı tarafından gönderilen parametrelerle aynıdır. |
Federasyon Microsoft Entra kullanıcısı veya Microsoft hesabı kullanıcısı için
Bir kullanıcı federasyon Microsoft Entra hesabıyla veya Microsoft hesabıyla oturum açarsa, kullanıcıyı oluşturmak için davet API'sini kullanmanız ve ardından isteğe bağlı olarak kullanıcıya daha fazla öznitelik atamak için kullanıcı güncelleştirme API'sini kullanmanız gerekir.
- Onay sistemi, kullanıcı akışından HTTP isteğini alır.
POST <Approvals-API-endpoint>
Content-type: application/json
{
"email": "johnsmith@fabrikam.onmicrosoft.com",
"displayName": "John Smith",
"city": "Redmond",
"extension_<extensions-app-id>_CustomAttribute": "custom attribute value",
"ui_locales":"en-US"
}
- Onay sistemi, API bağlayıcısı tarafından sağlanan öğesini kullanarak
email
daveti oluşturur.
POST https://graph.microsoft.com/v1.0/invitations
Content-type: application/json
{
"invitedUserEmailAddress": "johnsmith@fabrikam.onmicrosoft.com",
"inviteRedirectUrl" : "https://myapp.com"
}
Yanıt örneği:
HTTP/1.1 201 OK
Content-type: application/json
{
...
"invitedUser": {
"id": "<generated-user-guid>"
}
}
- Onay sistemi, kullanıcının hesabını toplanan kullanıcı öznitelikleriyle güncelleştirmek için davet edilen kullanıcının kimliğini kullanır (isteğe bağlı).
PATCH https://graph.microsoft.com/v1.0/users/<generated-user-guid>
Content-type: application/json
{
"displayName": "John Smith",
"city": "Redmond",
"extension_<extensions-app-id>_AttributeName": "custom attribute value"
}
Sonraki adımlar
- Self servis kaydolma kullanıcı akışı ekleme
- API bağlayıcısı ekleme
- API bağlayıcınızın güvenliğini sağlama
- el ile onay örneğiyle konuk kullanıcılar için self servis kaydolma.