asp.net core 3.1的多种身份验证方法(协商,AzureAD)

时间:2020-09-22 10:53:06

标签: asp.net-core .net-core authorization

我无法使用Negotiate或Azure AD进行条件授权。在Startup.cs类中,我指定

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;

public class Cipher {

    public static void main(String[] args) throws IOException {
        System.out.println("Enter fileName: ");
        Scanner input = new Scanner(System.in);
        String fileName = null;
        File file = null;
        while (true) {
            fileName = input.nextLine();
            file = new File(fileName);
            if (file.isFile()) {
                System.out.println(file + " already exists! Please try again:");
            }
            else {
                break;
            }
        }
        FileWriter writer = new FileWriter(file);
    }
}

在这种情况下,“协商”授权不起作用

如果我指定

 services.AddAuthentication(options =>
                {
                    options.DefaultScheme = OpenIdConnectDefaults.AuthenticationScheme;
                    options.DefaultChallengeScheme = CookieAuthenticationDefaults.AuthenticationScheme;
                    options.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
                })
                .AddNegotiate()
                .AddOpenIdConnect("AzureAD", options =>
                {
                    options.Authority =
                        "https://login.microsoftonline.com/--";
                    options.ClientId = "--";
                    options.ClientSecret = "--";
                    options.ResponseType = OpenIdConnectResponseType.IdToken;
                    options.CallbackPath = "--";
                    options.SignedOutRedirectUri = "https://localhost:5001/";
                    options.TokenValidationParameters.NameClaimType = "name";
                    options.NonceCookie.SameSite = SameSiteMode.Unspecified;
                    options.CorrelationCookie.SameSite = SameSiteMode.Unspecified;
                }).AddCookie();

Azure AD授权停止工作。 谢谢!

0 个答案:

没有答案