私はこの場合何を返すべきか疑問に思っています。私のUiとサービス層は異なるプロジェクトにあります。サービス層から何を返すべきですか? DotNetOpenAuth
これは
何が起こるかである - >ユーザーがサイトに来る - >ユーザーがOpenIDプロバイダを選択し、ログインを打つ - >ポストバックコントローラ
[HttpPost]
public ActionResult Login(LoginViewModel loginViewModel)
{
var test = accountService.SendOpenIdRequest(loginViewModel.OpenId);
}
public class LoginViewModel
{
public OpenId OpenId { get; set; }
}
にだから私は自分のドメインが含まれているViewModelにに取りますクラス。私は返すことができますので、多くの物事が自分であるため、私は迷子にどこ
public ? SendOpenIdRequest(OpenId openId)
{
var openIdRelyingParty = new OpenIdRelyingParty();
var response = openIdRelyingParty.GetResponse();
Identifier id;
if (Identifier.TryParse(openId.Url, out id))
{
try
{
var req = openIdRelyingParty.CreateRequest(openId.Url);
return req.RedirectingResponse
}
catch (ProtocolException ex)
{
}
}
return null;
}
私SendOpenIdRequest
でこれまでpublic class OpenId
{
public string Url { get; set; }
}
は今、これがあります。
私は今、私はasp.net MVCのActionResultに依存していると私はいくつかの他のプロジェクト(このサービス層を使用して言うならば、多分私はWebサービスを持っているように、これは悪いことだと思うしかし、私は
return req.RedirectingResponse.AsActionResult()
を返すことができますモバイルアプリケーションに接続する)。それはうまく動作しません。
私はreturn OutgoingWebResponse
でしたが、戻ってしまったらどうしたらいいのか分かりません。私もCreateRequest(から生成されたものIAuthenticationRequestを返すことができ
)
最後に、私はそれに上記のものの一つで、私のドメインオブジェクト(OpenIDの)を返すことができます。