/ / OWIN Autentifikácia - azúrová, signálna, asp.net-identita, owin, owin-middleware

Autentifikácia OWIN - azurová, signalr, asp.net-identity, owin, owin-middleware

Mám úlohu Azure WebRole (aplikácia MVC) a Azure Worker.

Teraz mám hostiteľské uzly SignalR hostené v pracovnej úlohe pomocou nástroja Owin.SelfHost.

Aplikácia MVC musí tieto uzly nazývať pracovnou úlohou - čo je celkom jednoduché.

Teraz je mojím problémom autentifikácia.

Musím pristupovať k WebRole Context.User.Identity na webrole, aby som mohol stále autentifikovať hovory do svojich hubov.

Pracovná úloha

  public class MyHub: Hub
{
public override Task OnConnected() {
var id = Context.User.Identity.Name; // NULL
var connectionId = Context.ConnectionId;
}

[Authorize]
public void SendMessage() ....
}

V súčasnej dobe som s tým

 public void Configuration(IAppBuilder app)
{

app.Map("/signalr", map =>
{
map.Run(async context =>
{
var userName = context.Request.Query["user"]; //NULL
var identity = new ClaimsIdentity(CookieAuthenticationDefaults.AuthenticationType);
identity.AddClaim(new Claim(ClaimTypes.Name, userName));
context.Authentication.SignIn(identity);
});

.....
});

}

Nejako musím odovzdať User.Context (Asp.net identity) z môjho WebRole Pipeline Owin v pracovnej úlohe.

Máte nejakú predstavu, ako to urobiť?

odpovede:

0 pre odpoveď č. 1

implementácia SignalR na nižšie uvedenom odkaze by mala zodpovedať vašu otázku.

môžete sa bližšie pozrieť na atribút, ktorý zdobí triedu rozbočovačov, a pozrieť sa na implementáciu.

môžete sa tiež pozrieť na GetCurrentUserName v samotnej triede Hub.

https://github.com/louislewis2/AngularJSAuthentication

Louis