Hirdetés

Új hozzászólás Aktív témák

  • Keem1

    veterán

    Srácok, segítséget szeretnék kérni: ASP.Net Core Razor
    A probléma autentikáció során van, fórumokat, tutorialokat tekintve nem találtam problémát, a leírt 2-3 common troubleshooting mindegyikét megcsináltam.

    Az autentikáció még erősen fejlesztés alatt áll, és két részre bonthatjuk: az egyik a klasszikus, jelszó+pw lokálisan tárolt user, a másik pedig az OAuth2 login, több provider (Google, Facebook, Microsoft, Spotify, ...) de egy kaptafára.

    Mi maga a probléma? Login után (egyelőre a külsős van kész, de ez a probléma szempontjából mellékes) megkapom a login adatokat, az auth látszólag sikeres, van User.[...], vannak claimek, van access tokenem, látszólag minden van. De csak addig, míg nem navigálok el/töltök újra bármit, mert akkor a felhasználói session rész elvész. A session amúgy megmarad, bármit letárolok a sessionben, megmarad. A sample kódban látszik, hogy ideiglenesen az access tokent lementettem sessionbe, az megmarad. De a User.[...] nem érhető el, HttpContext.SignInAsync() többé false-szal tér vissza (pedig rögtön a login után, a Response metódusban tökéletesen fel volt populálva, tehát nem arról van szó, hogy a providertől nem jön meg a data), nincsenek claimek, stb.
    Több helyen írták, cookie problem, töröljem őket. De töröltem, két gépen is próbáltam, MS Azure-ben hostolva is próbáltam, a probléma perzisztens.

    Annyi még, hogy van egy ilyen warningom, nem tudom, közrejátszik-e, de igazából "csak" warning.
    Ja, és bármelyik identityvel próbálkozom, ugyanez.

    info: AspNet.Security.OAuth.Spotify.SpotifyAuthenticationHandler[12]
    AuthenticationScheme: Spotify was challenged.
    warn: Microsoft.AspNetCore.Session.SessionMiddleware[7]
    Error unprotecting the session cookie.
    System.FormatException: The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters.
    at System.Convert.FromBase64CharPtr(Char* inputPtr, Int32 inputLength)
    at System.Convert.FromBase64String(String s)
    at Microsoft.AspNetCore.Session.CookieProtection.Unprotect(IDataProtector protector, String protectedText, ILogger logger)

    Mit rontok el?

    Előre is köszi a helpet. :R

    Source kódok:
    - Startup.cs
    - Pages/Account.cshtml.cs

Új hozzászólás Aktív témák