2017-05-13 13 views
0

저는 Identityserver 및 owin을 매우 신축했습니다. 여기에 내 문제가있다. 인증 서비스로 identityserver3을 사용하여 asp.net MVC 응용 프로그램을 만들었습니다. ID 서버 로그인 내의 요청 URI에 액세스하려고합니다. IdentityServer3.Samples를 사용하여 MVC보기를 사용하여 로그인 페이지를 사용자 정의했습니다.IdentityServer 로그인 페이지에서 Uri 요청

이것은 흐름입니다. 다음 URL을 계속 진행하려면 인증이 필요합니다. https://www.myapp.com/customer/profile 누군가가 해당 URL을 탐색하면 ID 로그인 페이지 https://www.myapp.com/identity/login?signin=2207991967207c8e306a8c08b3abd3b8으로 자동으로 리디렉션됩니다. 올바른 사용자 자격 증명을 제공하면 identityserver가 이미 처리 한 요청 URL로 다시 리디렉션됩니다.

필자의 경우 같은 identityserver 로그인 페이지에 다른 링크가 있는데,이 URL은 요청 URL 을 쿼리 링크 매개 변수로 사용하여 내 자신의 링크로 리디렉션되어야합니다. 이것을 어떻게 할 수 있습니까? 기본적으로 로그인 페이지에서 요청 URL을 가져오고 싶습니다.

답변

0

당신은

(예제의 repo에 login controller에서 촬영)
var env = Request.GetOwinContext().Environment; 
var msg = env.GetSignInMessage(id); // id from querystring 
var returnUrl = msg.ReturnUrl; 

+0

없음은 내가 예상하지 무엇을 얻고이 작동하지 않습니다를 통해 반환 URL에 액세스 할 수 있어야합니다. 그것은'https://identity.codefox.com/identity/connect/authorize?client_id=app_central&redirect_uri=https%3A%2F%2Fcentral.codefox.com&response_mode=form_post&response_type=code%20id_token&scope=openid%20profile%20read%20write%과 같습니다. 20offline_access & 상태 = OpenIdConnect.AuthenticationProperties % 나 정확한 URL을 얻으려면 3DktxDeOqwyWvZhx1JKURF0e8yAMBpeU36_qMNj-IB-hFNOF6HmN0rUPh3PjnRTQrHhy1KMd0Wr9eaOvKUoOEqAmBpqenO6G2GhtslpRGb7UTsYXiuaOkRCEUaqn5Be_EMYsWhVga00DUOE4Aki1pNVEdAwQpwhvKLs' – Daybreaker

+0

'https : //로 www.myapp.com/고객이 다시 여러 단계이기 때문에 nessecarily 사용자가 원래 요청한 것을 알 수/profile' – Daybreaker

+0

IdentityServer OAuth 흐름에서. –