[英]Asp.net core 2 - External Authentication in WebApi
現在我知道有很多關於這個的帖子,但我的情況有所不同。 所以請耐心等待。
當我在.Net Framework上創建WebApi並選擇個人用戶帳戶時,它已經為我提供了一個外部身份驗證的工作代碼。
有AccountController,Startup.auth.cs和其他具有外部身份驗證代碼的文件
現在我知道.net核心已經發生了變化。 但個人用戶帳戶的net.core web api與它沒有任何相似之處。
當我嘗試在.net Core上使用WebApi時,它只為我提供了一個選擇Azure應用程序的選項。 在下圖中,使用.net核心上的WebApi,藍色指向的下拉列表僅提供一個Azure AD b2c應用程序選項。 沒有帳戶控制器是腳手架,也沒有其他配置文件用於外部身份驗證。
我試過這些鏈接: https : //docs.microsoft.com/en-us/aspnet/web-api/overview/security/external-authentication-services
https://docs.microsoft.com/en-us/aspnet/core/security/authentication/social/
但第一個鏈接是針對.net框架,但對我沒有幫助。 第二只適用於Web應用程序的asp.net核心但不是的WebAPI
我需要在web api中進行外部身份驗證,因為我希望所有來自Web或移動設備的用戶都可以通過Google或Facebook進行身份驗證。 請任何人指出我正確的方向。 我在這里錯過了一些東西。 有沒有文件可以幫我解決這個問題?
選擇“個人用戶帳戶”時,您要選擇“在應用程序中存儲用戶帳戶”。
以這種方式創建應用程序時,腳手架將創建AccountController。 以這種方式創建項目后,您可以轉到Startup.cs
在ConfigureServices方法中,您必須添加(對於谷歌):
services.AddAuthentication()
.AddGoogle(options =>
{
//Set client Id and secret here
options.ClientId = "clientId_here";
options.ClientSecret = "ClientSecret_here";
});
有關詳細信息,請訪問: https : //docs.microsoft.com/en-us/aspnet/core/security/authentication/social/
您可以使用JSON Web Tokens或JWT。
這是一篇指導正確路徑的文章: https : //auth0.com/blog/securing-asp-dot-net-core-2-applications-with-jwts/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.