Локално рестартиране на asp.net с Oauth - доставчикът е влязъл, но сесията е загубена

Разработвам приложение за dropbox asp.net и то работи поне в режим localhost. Но се сблъсквам с проблем, който се надявам да е само по време на тестването на localhost и няма (НЕ МОЖЕ) да възникне в производството. Малко е трудно за обяснение, затова ще го опиша на стъпки.

1) Браузърът не работи и стартирам „целевата страница за членство в системата“ в Debugger. Пита dropbox за влизане и разрешение. Понастоящем в моя извлечен от Oauth клас съхранявам моя обект с падаща кутия с токен за достъп и тайна в променлива на сесия.

2) В действителната ми страница „влезли“ извличам обекта от сесията и започвам да използвам dropbox и работи добре.

3) Сега да предположим, че спирам отстраняването на грешки от Visual Studio 2012. Направете някои модификации на кода. Сега започвам отново. Този път браузърът вече е влязъл в dropbox и целевата страница се показва влязла. Не виждам подкана „Разрешаване“ от dropbox. Но сега няма променлива на сесията, която да извлече моя обект на падаща кутия, защото това е нова сесия. Но за dropbox това е вече влязлата сесия.

Искам да потвърдя, че тази ситуация може да възникне само по време на стартиране на localhost и не може да възникне в реално производствено приложение, защото винаги ще преминава от уеб сайт в браузъра, който ще има своя собствена сесия. Или може да се появи? Какво е решението в такъв случай.

Друго съмнение е, защо dropbox не иска подкана за разрешаване следващия път, ако браузърът е отворен, но приложението започва нова сесия. Трябва да получава същия токен за достъп и тайна отнякъде. От къде?


person user2911419    schedule 30.10.2013    source източник


Отговори (1)


Мисля, че намерих работещо решение. Ако открия, че сесията е загубена, изпълнявам следния код и той излиза от потребителя. Дори ако ситуацията може да възникне само при моето локално тестване, това се грижи за нея.

                FormsAuthentication.SignOut();
                Response.Redirect("/");
                return;
person user2911419    schedule 31.10.2013