Код: Выделить всё
using System.Reflection;
using PaymentGatewayApi.Common;
using ServiceStack.Auth;
using ServiceStack.Logging;
[assembly: HostingStartup(typeof(ConfigureAuth))]
namespace PaymentGatewayApi;
public class ConfigureAuth : IHostingStartup
{
private static readonly ILog Logger = LogManager.GetLogger(MethodBase.GetCurrentMethod()?.DeclaringType);
public void Configure(IWebHostBuilder builder) => builder
.ConfigureAppHost(appHost =>
{
appHost.Plugins.Add(new AuthFeature(() => new AuthUserSession(),
[
new CredentialsAuthProvider(appHost.AppSettings),
new JwtAuthProvider(appHost.AppSettings),
new JwtAuthProviderReader(appHost.AppSettings)
{
PopulateSessionFilter = (s, p, r) =>
{
if (p.TryGetValue(ApplicationConstants.ScopeKey, out var scopes))
{
s.Roles = scopes.FromJson();
Logger.Info($"Registered scopes: {s.Roles.ToJsv()}");
}
.......
r.SetItem(ApplicationConstants.RequestClientIdKey, s.UserName);
},
UseTokenCookie = false
}
])
{
MaxLoginAttempts = appHost.AppSettings.Get("Authentication:MaxLoginAttempts", 5),
IncludeDefaultLogin = false,
SessionExpiry = TimeSpan.FromMinutes(appHost.AppSettings.Get("Session:MinutesExpiration", 30)),
});
appHost.Plugins.Add(new RegistrationFeature());
Logger.Info("Registered Authentication.");
});
}
< /code>
Этот код находится в другом файле, где я настраиваю зависимости баз данных: < /p>
//User repository
var authRepo = new OrmLiteAuthRepository(
container.Resolve()) { UseDistinctRoleTables = false };
container.Register(authRepo);
container.Register(authRepo);
< /code>
Моя проблема в том, что два поставщика вступили в конфликт. Когда я пытаюсь выполнить вход в учетные данные, он возвращает ошибку: < /p>
[b]PrivateKey required to use: RS256Почему этот метод пытается найти любой закрытый ключ для проверки этих данных
, когда я пытаюсь выполнить JWT Войдите, он возвращает ошибку: < /p>
Код: Выделить всё
The input string 'cf2c40f3-9cd9-419c-916b-2e4f93821a22' was not in a correct format.Почему этот метод пытается проверить данные токена с помощью базы данных.
Я не знаю проблему Полем Я пробовал несколько возможных решений, но ни один из них не является правильным.
Кто -нибудь знает, что может произойти, или дать мне некоторое руководство о том, где искать решение?
Подробнее здесь: https://stackoverflow.com/questions/794 ... s-conflict
Мобильная версия