Я пытаюсь использовать библиотеки Sustainsys.Saml2 и Sustainsys.Saml2.AspNetCore2, предоставляемые этой библиотекой saml2 для реализации сценариев, инициируемых как IDP, так и SP.
После ознакомления с примерами того, что я делал до сих пор:
1. Обратитесь к последним Sustainsys.Saml2.AspNetCore2 и Sustainsys.Saml2 через nuget
2. Изменен Startup.cs для добавления новых опций
3. Создан контроллер MVC с конечной точкой ACS
Вещи, которые я пытаюсь понять:
1. Нужно ли инициировать Saml2Handler, чтобы я мог нажать на конечную точку библиотеки HandleRequestAsync ().
2. Как вернуть основной / претензии
3. Для инициируемого sp случая, когда конечная точка идентифицирует запрос, не аутентифицированный, как перенаправить запрос в IDP?
Метод ConfigureServices в файле startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication()
.AddSaml2(options =>
{
options.SPOptions.EntityId = new EntityId("https://localhost:3131/Saml2");
options.IdentityProviders.Add(
new IdentityProvider(
new EntityId("http://localhost:52071/Metadata"), options.SPOptions)
{
LoadMetadata = true
});
options.SPOptions.ServiceCertificates.Add(new X509Certificate2("Sustainsys.Saml2.Tests.pfx"));
});
}
**SSO Controller**
[Authorize(AuthenticationSchemes = "Saml2")]
public class SsoController : Controller
{
public SingleSignOnController(ILogger logger)
{
}
[Route("saml2/ACS")]
[HttpPost]
public ActionResult ACS()
{
try
{
// Is request authenticated here by library?
// I tried hitting this end point from stud idp portal, but it is
throwing " MVC Exception Handler: The method or operation is not implemented. at Sustainsys.Saml2.AspNetCore2.Saml2Handler.AuthenticateAsync()
at Microsoft.AspNetCore.Authentication.AuthenticationService"
}
catch (Exception e)
{
}
}
}
Нужно ли создавать / реализовывать Custom Saml2Handler и внедрять его в контроллер SSo? Я не смог найти точную конечную точку в этом ASPNETSAMPLE проекте для saml2 / ACS?
Что мне не хватает?