Получаване на екземпляр на FacebookAuthenticationProvider в IdentityServer (приложение Owin)

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

IdentityServer използва мидълуера Owin на Microsoft, за да извърши удостоверяването на Facebook. Ето как се добавя към приложението:

var fb = new FacebookAuthenticationOptions
{
    AuthenticationType = "Facebook",
    SignInAsAuthenticationType = signInAsType,
    AppId = "...",
    AppSecret = "..."
};

Това, което искам да направя, в друг клас, е да нарека това:

await [FacebookAuthenticationProvider instance].Authenticated(context);

Но не мога да разбера как да получа екземпляра FacebookAuthenticationProvider, от който се нуждая. Или дори това е необходимо? Мога ли само new едно?


person ChrisV    schedule 03.03.2015    source източник


Отговори (1)


Не съм правил това конкретно, но ако разбирам проблема ви, бих внедрил тяхната потребителска услуга по-долу

https://identityserver.github.io/Documentation/docs/advanced/userService.html

И след това бих предположил, че удостоверява по същия начин, по който нормалният ASP.NET прави и можете да проверите свойствата Request.IsAuthenticated или User.Identity, за да изтеглите информация.

Отново, не съм направил това, но бих предположил, че обаждането до Facebook за действително удостоверяване ще бъде задействано от някакъв вид връзка и че ще сте регистрирали във Facebook външен URL адрес за обратно извикване за влизане, който ще удари едно от действията ви на контролера ( в който момент се изпълнява логиката за удостоверяване), но предполагам, че внедряването на потребителска услуга се грижи за по-голямата част от работата вместо вас и вие просто ще се включите в него.

Ако търсите кеширане на токена, може би погледнете -

http://brockallen.com/2013/02/21/server-side-session-token-caching-in-wif-and-thinktecture-identitymodel/

person cchamberlain    schedule 11.03.2015