두 부분으로 된 응용 프로그램을 만들고 있습니다. 한 서버에는 Owin을 사용하는 .net Webapi2가 있습니다. 다른 서버에는 현재 API가없는 프런트 엔드 역할을하는 로그인이없는 MVC5 웹 사이트가 있습니다. 앱 자체가 동일한 API를 사용하기 때문에 클라이언트가 개발할 수있는 것의 예라고 보여주는 것도 좋은 판매 포인트 일 것입니다. API를 사용하여 자체 프론트 엔드 앱을 개발할 수 있도록 제 3자를 필요로하기 때문에 API에 사용자 인증 항목을 넣었습니다.이 MVC5 클라이언트를 원격 WebApi2 앱을 통해 로그인하려면 어떻게해야합니까?
나는 사용자가 프론트 엔드에 자신의 로그인 정보를 제출이 필요합니다 내가 (이론적으로) 달성하기 위해 노력하고있어 그것은 resourceownergrant 유형을 통해이를 인증하고 프런트 엔드 만들 수 있도록 결과를받을 것이다 accesstoken과 identityuser/roles를 포함하는 쿠키. 이 쿠키가 존재하는 한 mvc 응용 프로그램은 accesstoken을 사용하여 API를 호출합니다. MVC 앱과 API는 모두 [Authorize] 속성을 사용할 수 있습니다. 내가 가진 무엇
지금까지 는 내가 API를 위로 가지고 작업, 나는 "grant_type = 비밀번호 & 이름 = testuser를 & 암호 = password123"를 게시 할 수 있습니다 내가 JSON이 뭔가를받을
{
"access_token":"-longasstokenhere-",
"token_type":"bearer",
"expires_in":1209599,
"userName":"testuser",
".issued":"Thu, 03 Apr 2014 16:21:06 GMT",
".expires":"Thu, 17 Apr 2014 16:21:06 GMT"
}
웹 API의 반응은 내 질문에 내 MVC 응용 프로그램을 연결하는 방법입니다
set-cookie: -Long-assserializedcookiestuffhere-
의 헤더가 있습니다. 내 mvc5 응용 프로그램에서
나는
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
CookieName = "MyCookie",
LoginPath = new PathString("/Account/Login")
});
가 [권한 부여]가 내가 방문했을 때, 제대로 리디렉션하는 테스트 페이지에서 설정 한 속성 내가 한 configureauth이 세트로 owin의 시작있어 나 로그인 페이지. 제가 누락 된 부분은 로그인을 클릭하면 웹 사이트 게시물이 API로 돌아가고 웹 사이트에서 사용자가 [승인] 속성을 통과 할 수있게하는 Owin 쿠키를 만드는 방법입니다. 나는 또한 iduser를 포함하고 싶다. 그래서 웹 애플리케이션은 모든 호출에 대해 API에 다시 게시하지 않고도 사용자 정보를 자동으로 가질 것이다. 어떻게 든 반환 결과에서 쿠키를 가져올 수 있는지 모르겠다.
또한 더 좋은 방법은 제안에 대한 것입니다.
Heeelp !?
이봐, 메신저 귀하의 구현을 사용하려고하면 JWT 토큰을 사용하여 메신저와 내가 각도에서 그것을 사용하여 헤더에서 토큰을 보낼 때 좋은 작동하지만 ... 내가보기에 때로는 전환 할 내 MVC가 필요해 그래서 나를 계속 쿠키가 필요했습니다 mvc에 로그인 ...하지만 심지어 코드와 함께, 난 아직도 컨트롤러에서 권한 부여를 통과 못해 ... JWT에서 권한 부여 특성에서 일어나는 일을 디버깅 할 수 있습니까? – Shakawkaw