Merge pull request #6913 from abpframework/liangshiwei/patch-2

Improved AddAbpOpenIdConnect
pull/6918/head
maliming 5 years ago committed by GitHub
commit 500229b225
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -25,26 +25,29 @@ namespace Microsoft.Extensions.DependencyInjection
{
options.ClaimActions.MapAbpClaimTypes();
options.Events = new OpenIdConnectEvents
configureOptions?.Invoke(options);
options.Events ??= new OpenIdConnectEvents();
var authorizationCodeReceived = options.Events.OnAuthorizationCodeReceived ?? (_ => Task.CompletedTask);
options.Events.OnAuthorizationCodeReceived = receivedContext =>
{
OnAuthorizationCodeReceived = receivedContext =>
SetAbpTenantId(receivedContext);
return authorizationCodeReceived.Invoke(receivedContext);
};
});
}
private static void SetAbpTenantId(AuthorizationCodeReceivedContext receivedContext)
{
var tenantKey = receivedContext.HttpContext.RequestServices
.GetRequiredService<IOptionsSnapshot<AbpAspNetCoreMultiTenancyOptions>>().Value.TenantKey;
if (receivedContext.HttpContext.Request != null &&
receivedContext.Request.Cookies.ContainsKey(tenantKey))
if (receivedContext.Request.Cookies.ContainsKey(tenantKey))
{
receivedContext.TokenEndpointRequest.SetParameter(tenantKey,
receivedContext.Request.Cookies[tenantKey]);
}
return Task.CompletedTask;
}
};
configureOptions?.Invoke(options);
});
}
}
}

Loading…
Cancel
Save