2015-08-15 60 views
0

我是新來的asp.net web api,owin和所有與它相關的東西。 我試圖找到做這種情況的最好辦法:分離Web Api和網站

1 - 網頁API讓所有的連接和其他服務

2 - 網站使用REST來的數據顯示到用戶的瀏覽器服務

3 - 一個移動應用,有一些功能,如網站和訪問RESTful服務以獲取所有信息

我的疑問是:什麼是相關的登錄的最佳做法?我將使用owin/oath2和Identity來登錄,但由於它將在web api上實現,所以登錄/註冊/忘記密碼應該直接在web api上(如項目模板所做的那樣),還是應該移動大多數到網站的功能?當然,它更容易離開在網絡API,但如果我這樣做,我必須複製我的剃刀模板只是爲了調用登錄部分。有人能給我一條路嗎?

謝謝!

+0

嗯,所以你的Web Api項目有剃鬚刀模板? – mostruash

+0

這就是我所說的,如果我使用項目模板,會有模板。這是我想要避免的一點。在我的網絡API只保留應該在那裏,但我不知道我應該如何做整個登錄部分分離web api從我的網站上的意見(當然,我可以使用restsharp例如,但我不知道如果我不會失去大部分身份權力這樣做) –

回答

0

答案不是,你的web api不應該有任何html或者js或者css文件,只有你需要的服務,web api公開函數來註冊用戶,接下來當你不得不請求時,你必須發送一個令牌,您可以使用您在owin中配置的URL獲取該令牌,該URL與/令牌一樣,併發送用戶名和密碼。

Regards,

+0

是的,這就是我想要實現的。但是,如果我直接使用/令牌執行所有呼叫,那麼我如何使用SignInManager中的「記住我」功能? (isPersistent = true) –

+0

那麼,它取決於您可以在您的web mvc中登錄用戶,然後獲取令牌來調用服務,其他選項是使用Web瀏覽器的記憶憑據 –