我有一个使用MVC和OWIN的C#项目。
我正在尝试允许使用多个OpenID提供程序。我已经看到人们如何通过在管道中使用“RedirectToIdentityProvider”传递参数字符串来完成它,如本文所述:https://www.scottbrady91.com/Identity-Server/Identity-Server-3-Standalone-Implementation-Part-2
但是,我没有使用任何像google或github这样的大品牌提供商。我使其适用于支持OIDC的任何Id提供商。
问题是我想在RedirectToIdentityProvider任务中动态设置权限...但我不知道如何。
private async Task OnRedirectToIdentityProvider(RedirectToIdentityProviderNotification<OpenIdConnectMessage, OpenIdConnectAuthenticationOptions> notification)
{
var openIdProviderService = new OpenIdProviderService();
var openIdProvider = openIdProviderService.Get("SecureAuthA");
notification.ProtocolMessage.ClientId = openIdProvider.ClientId;//"3b11fd9d1d6f454c8ed09b837ed632cb";
notification.ProtocolMessage.ClientSecret = openIdProvider.ClientSecret;//"6e687e0f551fe32ea7df63a553f73a2206b8c69e0da436efb5191c229528bef4";
有没有办法动态设置权限?