Мне нужно, чтобы пользователь заходил на сайт с использованием автоматической проверки подлинности на Facebook. Теперь мне нужно установить ссылку на пользовательский диск в Google (и другие службы). Я хочу использовать ASP.Net Identity OAuth Identity для обработки обмена токенами, НО я не хочу, чтобы он касался существующего UserCredential или использовал его для SignIn
UserPrincipal
Моя цель - предотвратить
-
AuthenticateCoreAsync
от возврата aAuthenticationTicket
, что приводит к модификации текущего зарегистрированного идентификатора пользователя - Пользователь сокращает систему аутентификации, используя претензии, полученные от Google. (Я должен был уже зарегистрировать пользователя с помощью других средств)
- Предотвратить использование неожиданного токена/файла cookie для создания допустимого сеанса, создающего сценарий эскалации привилегий?
Вопрос
-
Какое влияние оказывает установка пользовательского свойства grantIdentity на
IOwinContext.Authentication.SignIn()
? -
Решает ли SignInAsAuthenticationType мою потребность?
-
Если нет, когда это будет использоваться?
Теоретический код с использованием поставщика Google
// The cookie needs to be First in the chain.
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = "CustomExternal",
AuthenticationMode = AuthenticationMode.Passive,
CookieName = "MyAwesomeCookie",
ExpireTimeSpan = TimeSpan.FromMinutes(5),
//Additional custom cookie options....
});
//Note that SignInAsAuthenticationType == AuthenticationType
app.UseGoogleAuthentication(new GoogleOAuth2AuthenticationOptions
{
AuthenticationType = "GoogleBackOffice",
ClientId = "abcdef...",
ClientSecret = "zyxwv....",
SignInAsAuthenticationType = "CustomExternal"
});