34 lines
1.1 KiB
C#
34 lines
1.1 KiB
C#
// Copyright (c) .NET Foundation. All rights reserved.
|
|
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
|
|
|
using System;
|
|
using Microsoft.AspNetCore.Http;
|
|
using Microsoft.AspNetCore.Identity;
|
|
|
|
namespace Microsoft.AspNetCore.ApiAuthorization.IdentityServer.Authentication
|
|
{
|
|
internal class IdentityServerJwtPolicySchemeForwardSelector
|
|
{
|
|
private readonly PathString _identityPath;
|
|
private readonly string _IdentityServerJwtScheme;
|
|
|
|
public IdentityServerJwtPolicySchemeForwardSelector(
|
|
string identityPath,
|
|
string IdentityServerJwtScheme)
|
|
{
|
|
_identityPath = identityPath;
|
|
_IdentityServerJwtScheme = IdentityServerJwtScheme;
|
|
}
|
|
|
|
public string SelectScheme(HttpContext ctx)
|
|
{
|
|
if (ctx.Request.Path.StartsWithSegments(_identityPath, StringComparison.OrdinalIgnoreCase))
|
|
{
|
|
return IdentityConstants.ApplicationScheme;
|
|
}
|
|
|
|
return _IdentityServerJwtScheme;
|
|
}
|
|
}
|
|
}
|