ASP.net core web api。使用Facebook/Google OAuth访问令牌进行认证
在服务器时代,我正在尝试与Google和Facebook一起获得OAuth身份验证,以在我的ASP.NET Core Web API项目中工作. 我的当前状态是: 我有一个ASP.NET核心Web API项目,其中需要对用户进行身份验证 我有一个Angular 2 Web应用程序,该应用程序应该使用我的Web API(带有身份验证) 我有一个Android应用,该应用程序应该使用我的Web API(带有身份验证) 我的目标是: 将Google/Facebook用作登录的OAuth提供商 稍后:添加自己的用户帐户(可能带有IdentityServer4) 无需重定向到特殊的登录网站(例如IdentityServer4解决方案).只需点击应用程序中的Facebook/Google按钮,允许访问,完成! 在我的Android和Angular应用中,我可以从Google/Facebook检索访问令牌.现在,我想使用oauth隐式流,并在我的Web API上对
0 2024-04-17
编程技术问答社区
使用webAPI承载令牌的SignalR认证
+我使用此解决方案使用ASP.NET Web API 2,OWIN和身份...实现基于令牌的身份验证,它们效果很好.我使用了此其他解决方案,这是通过连接字符串通过连接字符串来实现Signalr Hubs授权和身份验证,但似乎持票人令牌不在,或者在某个地方有其他问题,这就是为什么在这里寻求帮助...这些是我的代码... querystringbearerauthorizeattribute:这是负责验证的类 using ImpAuth.Entities; using Microsoft.AspNet.Identity.EntityFramework; using Microsoft.Owin.Security; using Microsoft.Owin.Security.OAuth; using System; using System.Collections.Generic; using System.Linq; using System.Security.Claims; usin
0 2024-04-17
编程技术问答社区
在ASP.NET Core中_Layout.cshtml的访问cookie
登录成功时,我正在尝试将身份验证键存储到我的cookie中: HttpContext.Response.Cookies.Append("Bearer", accessToken, cookieMonsterOptions); 因此,在控制器类中,这起作用.我可以轻松地创建和阅读我的cookie. 但是现在我想检查一下,如果存在,请阅读我的_Layout.cshtml中的cookie的值,并显示登录用户的名称 - 或登录的链接. 但是我如何在部分_Layout.cshtml中阅读我的cookie? string value = HttpContext.Request.Cookies.Get("Bearer"); 不起作用.它试图将System.Web添加到我的使用情况下,或者说httpcontext是静态的,需要参考访问Request. 有什么建议或想法? 解决方案 在ASP.NET核心中,再也没有静态HTTPContext的概念了.新的Microsoft
0 2024-04-17
编程技术问答社区
SignInAsync vs AuthenticateAsync
我终于使用JWT令牌身份验证工作了. 在这里我打电话 await HttpContext.SignInAsync( CookieAuthenticationDefaults.AuthenticationScheme, ClaimsPrincipalFactory.CreatePrincipal(claims), authProps); 我也称为 await HttpContext.AuthenticateAsync(CookieAuthenticationDefaults.AuthenticationScheme); 在示例中,我读到我只需要SignInAsync. 因此,我对其进行了测试并删除了AuthenticateAsync.但仍然,User.Identity.IsAuthenticated返回true. 可以删除AuthenticateAsync吗?还是我还需要它?为什么存在? AuthenticateAsync的DOC弦仅
0 2024-04-17
编程技术问答社区
端点包含授权元数据,但没有找到支持授权的中间件
我目前正在将本地开发的应用程序移至数字海洋中的Ubuntu 16.04液滴.我正在使用.NET Core 3.1,并且已经配置了我的服务器,因为它很好.但是,当我导航到使用[Authorize]属性的控制器上的端点时,我仅在生产服务器(不是本地)上获得以下异常: An unhandled exception has occurred while executing the request. System.InvalidOperationException: Endpoint App.Controllers.RsvpController.Index contains authorization metadata, but a middleware was not found that supports authorization. Configure your application startup by adding app.UseAuthorization() inside th
0 2024-04-17
编程技术问答社区
在MVC5中,我应该如何检查一个用户是否被认证?
我看到了以下两个可访问的布尔值: System.Web.Mvc.Controller.User.Identity.IsAuthenticated System.Web.Mvc.Controller.Request.IsAuthenticated 这些之间有区别.他们俩似乎都在做同样的事情,所以我不确定要使用哪个. 我想做的是: @if (User.Identity.IsAuthenticated) { if (User.IsInRole("Admin")) { @Html.ActionLink("Admin", "AdminController") } } 或 @if (Request.IsAuthenticated) { if (User.IsInRole("Admin")) { @Html.ActionLink("Admin", "AdminController") } } 上述任
0 2024-04-17
编程技术问答社区
.NET例外,我可以为未经授权或未经身份验证而投掷
我有代码的一部分,我想在未经身份验证/未授权的用户时提出异常. 因此,我没有编写我自己的notauthenticaticatedException和notauthorizedException,而是想知道是否还没有一些C#标准. 我可以想象很多程序都会抛出类似的例外,如果每个人都再次写自己的轮子',那将不是很有用的. 解决方案 使用C# https://learn.microsoft.com/en-us/dotnet/api/system.security.authentication.authentication exception 其他解决方案 您还可以使用 unauthorizedAccessexception 其他解决方案 要避免重新发明轮子,我将使用 principalpermission.demand 或 principalperperpersionaltribute . a SecurityException如果需求失败,将为您抛弃.
0 2024-04-17
编程技术问答社区
InitializePropertiesFromConfiguration(String serviceName) NullReferenceException
我根据Object reference not set to an instance of an object. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.NullReferenceException: Object reference not set to an instance of an object. Source Error: An unhandled exception was generated during the execution of the current web
0 2024-04-17
编程技术问答社区
为AD FS配置WIF与表单认证
我们有一个ASP.NET Web表单(.NET 3.5)网站应用程序使用表单身份验证.该应用程序拥有不同的自定义身份验证服务,该服务使用不同的SSO方法(例如CAS)来验证用户,这些服务是针对不同客户端实现的.现在,要求是实现基于AD FS的身份验证服务,而无需对表单身份验证配置进行核心更改. 我的问题: 如何配置.NET 3.5网站 而不是将用户名和密码从我的登录页面传递给AD FS代理并获得SAML响应,而不是将用户名和密码传递给STS? 我的目的是从SAML响应中读取自定义属性值(例如使用编号),然后继续使用当前身份验证模块.有可能吗? 这个问题基于 ad fs fs and Forms Authentication 帮助您将不胜感激. 解决方案 我在上一个问题中发布的摘要作为答案,应在.NET 3.5下或多或少地工作(某些API已更改,但没有那么多,因此您无法弄清楚) 尽管这是可能的,但我想这是一个坏主意.这是因为ADF可以配置为使用其他身
0 2024-04-17
编程技术问答社区
带有访问数据库的登录表格
try { OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source= C:\Users\jay.desai\Documents\Visual Studio 2008\Projects\Jahoo Sign in form!\Jahoo Sign in form!\Registration_form.mdb"); con.Open(); OleDbCommand cmd = new OleDbCommand("select * from Login where Username='"+txtlognUsrnm.Text+"' and Password='"+txtlognpswrd+"'", con); OleDbDataReader dr = cmd.ExecuteReader(); if(dr.Read() == true
0 2024-04-17
编程技术问答社区
C# SMTP认证失败,但证书是正确的
这是我的问题:我写了以下程序来测试我是否可以发送电子邮件: class Program { static void Main(string[] args) { try { Console.WriteLine("Mail To"); MailAddress to = new MailAddress("myemail@gmail.com"); Console.WriteLine("Mail From"); MailAddress from = new MailAddress("me@businessdomain.it"); MailMessage mail = new MailMessage(from, to); Console.WriteLine("Subject"); mail.
0 2024-04-17
编程技术问答社区
System.Data.SqlClient.SqlException:'关键词'Table'附近的语法不正确,';
我正在尝试使用Windows表单C#创建一个登录系统,但这给了我一个错误.我正在使用MySQL数据库和YouTube的教程.我不知道有什么错误.该项目包含三个形式:登录名,寄存器一和主程序表格. using System; using System.Windows.Forms; using System.Data.SqlClient; using System.Data; namespace LoginSys { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void exitB_Click(object sender, EventArgs e) { this.Close(); } private void registerB_Click(object sender
0 2024-04-17
编程技术问答社区
C# Winform 关闭程序后,进程仍在Windows任务列表管理器中。
为什么关闭程序后仍在Windows任务列表管理器上的过程? 我使用登录表单 [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Login()); } 用户成功登录后,我重定向到另一个主页 this.Hide(); Main_Usr oMainUsr = new Main_Usr(); oMainUsr.Visible = true; 我的伪主页: public Main_Usr() {
0 2024-04-17
编程技术问答社区
如何与移动应用连接到AD B2C
我在.net core(3.1)中的Web API. 3个应用程序使用此网络: Web应用程序 ios应用 Android App 对于Web应用程序,我们使用默认登录页面.因此,登录后,将重定向到客户端应用程序. 对于iOS和Android应用程序,我们无法找到用于获得令牌的代码. 谢谢. 解决方案 有各种各样的示例,即如何获取Azure AD令牌来调用API.请在此处看看:特别注意第2个:ios-swift-native-msal和android-native-msal 他们基本上可以与MSAL库一起获取令牌,并允许您使用它来调用Web API.
0 2024-04-17
编程技术问答社区
如何向Azure存储blob上传添加认证
我正在尝试将图像上传到Azure Blob存储中.我正在使用.net core and azure.storage.blobs v12.8.0. 以下代码是我到目前为止的. try { var documentByteArray = // a valid byte array of a png file var blobUri = new Uri("https://mystorageaccount.blob.core.windows.net/images/myfile.png"); BlobClient blobClient = new BlobClient(blobUri); using (MemoryStream stream = new MemoryStream(documentByteArray)) { await blobClient.UploadAsync(stream, true, defaul
0 2024-04-17
编程技术问答社区
使用GINA进行登录方式的定制
我知道在吉娜(Gina)中找到主人并不容易,但是我的问题最靠近我的意思交流(IPC),我在不受管理的C ++中写了我的自定义吉娜用户尝试登录,此功能将在运行的系统Windows服务中调用某些方法,代码如下: 在吉娜(Gina),不受管理的C ++ if(Fingerprint.Validate(userName,finerprintTemplate) { //perform login } 在Windows服务中,C# public class Fingerprint { public static bool Validate(string userName, byte[] finerprintTemplate) { //Preform Some code to validate fingerprintTemplate with userName //and retuen result } } 任何人都知道如何在
0 2024-04-17
编程技术问答社区
如何获得最近认证的用户?
我正在与MVC 3合作,我刚刚为formauthenticationservice实施了包装器. 类似于以下的内容. public void SignIn(string username, bool createPersistantCookie) { if (string.IsNullOrEmpty(username)) throw new ArgumentException("Value Cannot be null or empty", "username"); FormsAuthentication.SetAuthCookie(username, createPersistantCookie); } 勉强地,我已经开始工作了,但是现在我不太确定如何获取我存储的信息. 用户在我的系统中,如果我需要从数据库中获取他们的用户ID,现在如何安全地检索此信息? 解决方案 基于提供的其他信息,您想将其他数据存储在FormaUth
0 2024-04-17
编程技术问答社区
找出当前用户的用户名--当多个用户登录时
"用户A"已登录 我的应用程序识别环境.username为"用户" 现在在Windows中,我单击Switch用户... 上的"用户B"登录 "用户A"过程仍在运行 由"用户A"运行的应用程序仍然说Environment.username是"用户A" 我希望该应用程序认识到当前登录的用户(当前活动用户)是"用户B" 我该怎么做? 解决方案 ManagementObjectSearcher searcher = new ManagementObjectSearcher("root\\CIMV2", "SELECT UserName FROM Win32_ComputerSystem"); foreach (ManagementObject queryObj in searcher.Get()) { loggedOnUserName = queryObj["Use
0 2024-04-17
编程技术问答社区
在SSO认证后设置FormsAuthentication
我的ASP.NET MVC 4应用程序受SSO(OAM)保护,ISAPI滤波器在IIS上运行.当收到对我的应用程序的请求时,它将被ISAPI过滤器截获并将其重定向到SSO.用户必须在SSO登录,之后他将返回我的应用程序. 已认证的用户的用户名(通过SSO)与我在HTTP请求标头中的应用程序共享. Request.Headers["username"] 我要实现的目标是 - 在SSO身份验证之后,在我的应用程序中设置FormsAuthentication username = Request.Headers["username"].这样,SSO仍然可以透明我的应用程序,并且在httpcontext对象中可以使用用户的身份,此外,我(开发人员)可以有效地UTLIZE UTLIZE授权属性属于特定角色. 要实现此 - i连接到Session_Start(),读取Request.Headers["username"],set FormsAuthentication cook
0 2024-04-17
编程技术问答社区
如何使用JWT+HttpOnly Cookie正确地刷新一个令牌?
我使用JWT + httponly cookie在我的ASPNETCORE API应用程序中成功设置了身份验证,灵感来自 this 文档和一个>主题. 现在,我正在尝试集成刷新令牌功能. 我找到了options.Events = new JwtBearerEvents { OnAuthenticationFailed = context => { if (context.Exception.GetType() == typeof(SecurityTokenExpiredException)) { context.Response.Headers.Add("Token-Expired", "true"); } return Task.CompletedTask; } }; 由于我正在使用基于cookie的身份验证,所以我使用 onredirecttologin 事件,而不是 onauthenticationfailed 事件,并且 context.exception.getTy
0 2024-04-17
编程技术问答社区