Я новичок в OWIN и хочу узнать, можно ли изменить ClientId & Клиентский секрет в нашем классе запуска на основе URL-адреса? Мы используем OWIN на сайте с несколькими арендаторами и действительно нуждаемся в решении для этого.Owin: ExternalLogin clientId & secret, основанный на URL-адресе
ответ
Я не уверен, что вы имеете в виду - где бы вы хотели изменить секретность ClientID и Client? О стороннем поставщике или локально? Можете ли вы немного уточнить, пожалуйста?
Это может или не может работать - хотя я не видим причин, почему это не должно:
if(System.Web.HttpContext.Current.Request.RawUrl == "YourUrlHere")
{
var fbOptions = new FacebookAuthenticationOptions
{
AppId = "etcetc",
AppSecret = "etcetc"
};
}
else if(etc. etc.)
{
}
Приложения секрета/идентификатор хранится в классе, который инициированный раз при запуске, а затем используется каждым встроенным -в реализации AuthenticateCoreAsync
.
Хотя ничто не мешает вам изменение этого значения после того, как приложение запускается, его определенно не потокобезопасны сделать это (так как это фактически общий глобальный объект)
К сожалению, вы не можете изменить это поведение либо так эти реализации все обозначены внутренними и жестко закодированы, чтобы вытащить appecret/id из этого объекта опций.
string tokenRequest = "grant_type=authorization_code" +
"&code=" + Uri.EscapeDataString(code) +
"&redirect_uri=" + Uri.EscapeDataString(redirectUri) +
"&client_id=" + Uri.EscapeDataString(Options.AppId) +
"&client_secret=" + Uri.EscapeDataString(Options.AppSecret);
, кажется, единственный вариант должен быть взять копию кода (так как он является открытым исходным кодом) и изменять поведение в соответствии с вашими потребностями
- 1. Google OAuth и переменные для ClientId и Secret
- 2. ASP Идентичность Нового пользователя с externallogin
- 3. OWIN аутентификация токена на предъявителя OWIN
- 4. В WebAPI2 OWIN как объединить токены-носители и OAuth2?
- 5. Настройка API геокодирования Google для поиска правильного идентификатора ClientID и Secret
- 6. ASP.NET OAuth Authorization - Разница между использованием ClientId и Secret и Username и Password
- 7. Самостоятельно размещенный (Owin) основанный на Asp.Net веб-интерфейс на мобильном телефоне Windows 10
- 8. OAuth Token/Secret Change?
- 9. Сохранять значение строки secret
- 10. Push secret changesets
- 11. Текущий пользователь в аутентификации owin
- 12. REST SECURE SECRET KEY
- 13. Хранение API разработчика Key/Secret на сервере
- 14. Application_PreSendRequestHeaders() на Owin
- 15. .Net OWIN WebApiConfig не называется
- 16. python secret word program
- 17. gpg --export-secret-keys
- 18. Django Tastypie Secret Key
- 19. Flex Encryption Secret Value
- 20. Secret Santa Sorting Hat
- 21. Основанный на приоритете Oracle SQL основанный
- 22. owin Authentication With Xing
- 23. ClientId не получает захвачен
- 24. C# - Owin Oauth не перенаправляет на внешнюю страницу входа
- 25. FacesContext и что ClientId
- 26. Зачем нам нужен clientID и clientSecret
- 27. Изменить тип ответа C# OIN с кода на токен
- 28. ClientID внутри файла ASCX
- 29. Почему ClientID не оценивает?
- 30. ClientId вызывает NullReferenceException
Хотите изменить он локально в нашем классе запуска – user3219798
Не думаю, что ваш класс запуска может измениться после запуска вашего приложения - поскольку он отвечает за создание промежуточного ПО OWIN, которое обрабатывает вашу аутентификацию, если это то, о чем вы просите, - так как для использования разных ключей на основе URL. Я думаю, вы можете установить это в своем файле конфигурации, чтобы URL-адрес был выбран, когда приложение запускается впервые, но я не думаю, что вы можете сделать это динамически. Я могу ошибаться, но я не думаю, что ты можешь. –
RawUrl - это просто «/» (косая черта), а Request.Url появляется как http://127.0.0.1/, хотя сайт работает на http: // localhost: 64827/ – user3219798