Ich benutze Strava als externen Login-Anbieter (ich nehme an, dass dies nicht mit Strava zu tun hat, könnte auch Google oder Facebook sein) Nach ein paar Stunden laufen/Tage oder sogar Wochen GetExternalLoginInfoAsync gibt null zurück. Ich habe eine Reihe anderer Fragen mit dem gleichen Problem gelesen, aber keine Lösung gefunden. Ich poste meine gesamte ConfigureAuth-Methode, nur für den Fall, dass ich mit der Bestellung etwas falsch gemacht habe.GetExternalLoginInfoAsync() loginInfo gibt null zurück - aber erst nach ein paar Stunden
Wenn Sie ein strava Konto haben könnten Sie wahrscheinlich das Problem hier erleben: fartslek.no/Account/Login
public void ConfigureAuth(IAppBuilder app)
{
// Configure the db context, user manager and signin manager to use a single instance per request
app.CreatePerOwinContext(ApplicationDbContext.Create);
app.CreatePerOwinContext<ApplicationUserManager>(ApplicationUserManager.Create);
app.CreatePerOwinContext<ApplicationSignInManager>(ApplicationSignInManager.Create);
// Enable the application to use a cookie to store information for the signed in user
// and to use a cookie to temporarily store information about a user logging in with a third party login provider
// Configure the sign in cookie
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/Account/Login"),
Provider = new CookieAuthenticationProvider
{
// Enables the application to validate the security stamp when the user logs in.
// This is a security feature which is used when you change a password or add an external login to your account.
OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
validateInterval: TimeSpan.FromMinutes(30),
regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))
},
CookieManager = new SystemWebCookieManager()
});
app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);
app.UseTwoFactorSignInCookie(DefaultAuthenticationTypes.TwoFactorCookie, TimeSpan.FromMinutes(5));
app.UseTwoFactorRememberBrowserCookie(DefaultAuthenticationTypes.TwoFactorRememberBrowserCookie);
app.UseStravaAuthentication(new StravaAuthenticationOptions{
ClientId="XXX",
ClientSecret= "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF",
});
}
ich diesen https://github.com/Johnny2Shoes/Owin.Security.Strava bin mit StravaAuth zu bekommen.
Wenn es aufhört zu arbeiten, ist ein Azure-Reset nicht genug, aber wenn ich einen neuen Einsatz mache, funktioniert alles eine Weile.
Ich verwende Owin 3.0.1 und 5.2.3 Mvc
Ich frage mich, ob der Code schlechte Auth-Daten auf der Festplatte irgendwo zwischenspeichert. Wenn Sie Ihre Site erneut bereitstellen, werden alle Dateien auf der Festplatte gelöscht und durch die neuen ersetzt, was erklären würde, warum die Authentifizierung nachher zu funktionieren beginnt, während das einfache Zurücksetzen der Site nichts bewirkt –
Interessante Theorie. Irgendwelche Ideen was zu überprüfen? – Larsi
@ZainRizvi Danke, dass du dir das angeschaut hast. Es ist eine einfache mvc-Site mit der Standardimplementierung der Authentifizierung, die einzige Änderung, die ich gemacht habe, ist Strava als externen Authentifizierungsanbieter hinzuzufügen. Ich wäre wirklich glücklich, wenn Sie mir helfen könnten, herauszufinden, was das Problem ist. Nochmals vielen Dank für Ihre Zeit. – Larsi