Я использую метод JavaScript для первой аутентификации пользователя, затем JS SDK записывает зашифрованный cookie-файл (называемый «fbs_ [YourAppID]»), когда подключенный пользователь заходит на вашу страницу;используя один из множества Facebook c # SDK, этот cookie можно декодировать, используя секрет вашего приложения, предоставляя вам идентификатор пользователя, токен oAuth, дату истечения срока действия и т. д.
Затем я подключаюсь к событию AuthenticateRequest моего приложения .NET,проверьте наличие файла cookie, расшифруйте его, если он найден, а затем найдите пользователя, которому был присвоен этот идентификатор Facebook (в вашей таблице пользователей должно быть дополнительное поле для хранения идентификатора их учетной записи Facebook).
Еслисовпадение найдено, я пишу обычный файл cookie для проверки подлинности форм для этого пользователя, затем .NET распознает их для всех будущих запросов.Если пользователь не найден, то это новый пользователь, который только что подключился.Снова используйте SDK, чтобы запросить API-интерфейс графа, используя их токен oAuth, получить такие вещи, как их имя / адрес электронной почты и т. Д., И создать новую учетную запись, а затем выдать токен аутентификации как обычно.Пользователь будет оставаться на вашем сайте для всех запросов, как если бы они были обычными пользователями.
Одна сторона, при использовании адреса электронной почты, проверять наличие дубликатов и проверять наличие файла cookie facebook во всех запросах.Например, существующий зарегистрированный зарегистрированный пользователь мог только что подключиться.