我在ASP.NET Core 2.0 Web和API应用程序中使用混合身份验证.这意味着饼干和现在添加JWT token.
应用程序的Web部分使用cookie,在API部分中,我想使用JWT令牌.
我的问题是如何获得索赔JWT token?在我的网络控制器中,我可以简单地HttpContext.User;用来获取存储在cookie中的声明.如何在我想要使用的API方法中处理它JWT token?
这是我的AuthenticationBuilder:
public static void MyAuthenticationConfig(IServiceCollection services, IConfiguration configuration)
{
services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = "myApp_cookie";
options.DefaultChallengeScheme = "myApp_cookie";
})
.AddCookie("myApp_cookie", options =>
{
options.AccessDeniedPath = "/Unauthorized";
options.LoginPath = "/Login";
})
.AddCookie("social_auth_cookie")
.AddOAuth("LinkedIn", options =>
{
options.SignInScheme = "social_auth_cookie";
options.ClientId = "my_client_id";
options.ClientSecret = "my_secret";
options.CallbackPath = "/linkedin-callback";
options.AuthorizationEndpoint = "https://www.linkedin.com/oauth/v2/authorization";
options.TokenEndpoint = "https://www.linkedin.com/oauth/v2/accessToken";
options.UserInformationEndpoint = "https://api.linkedin.com/v1/people/~:(id,first-name,last-name,email-address,picture-url,picture-urls::(original))";
options.Scope.Add("r_basicprofile");
options.Scope.Add("r_emailaddress");
options.Events = new OAuthEvents
{ …Run Code Online (Sandbox Code Playgroud) 我执行,将执行关键任务的存储过程UPDATE,DELETE并且INSERT我想确保我TRANSACTION是正确形成.
我已经看到了一些TRANSACTION声明,每个步骤后都有一个检查.我也看到过这种情况,整个步骤简单地放在一个TRANSACTION区块内,一路上没有任何"检查点".
这是一个很好形成TRANSACTION,将即回滚一切UPDATE,DELETE并且INSERT,如果在任何时候任何的错误.
这是TRANSACTION:
BEGIN TRANSACTION
BEGIN TRY
UPDATE SomeTable
SET SomeColumnValue = 123
WHERE Id = 123456
DELETE FROM SomeOtherTable
WHERE Id = 789
INSERT INTO ThirdTable
(Column1, Column2)
VALUE
('Hello World', 1234567)
END TRY
BEGIN CATCH
ROLLBACK TRANSACTION
END CATCH
Run Code Online (Sandbox Code Playgroud) 我的应用程序使用LinkedIn身份验证以及其他几个社交网络登录.
即使身份验证工作正常,LinkedIn突然停止返回格式化的配置文件图片,即picture-url.然而,我继续收到原始图像,即picture-urls- 见下文:

在我的身份验证请求中,我请求r_basicprofile并r_emailaddress根据此链接,我应该接收格式化和原始图像.
https://developer.linkedin.com/docs/fields/basic-profile
直到10天前左右,我收到了两张图片.我没有对我的代码进行任何更改,但由于某种原因,格式化的图像不再显示.知道为什么以及如何解决这个问题?
更新:突然间我又开始重新获取两个图像 - 而不对代码进行任何更改.
我还注意到图像URL现在已经改变,我在那里看到所有类型的参数 - 例如图像大小,看起来像API版本类型(下例中的alpha)以及可能的时间戳指示符:
https://media.licdn.com/dms/image/{image-id}/profile-displayphoto-shrink_100_100/0?e=123456789&v=alpha&t={sometypeofid}
Run Code Online (Sandbox Code Playgroud)
我不记得在图像URL中看到任何这些参数,它们根本不是URL,而是看起来像是返回图像的API调用.
我不知道LinkedIn是否宣布了我错过的这些更改,或者只是决定在不让开发人员进入循环的情况下进行这些更改.我希望不是后者,我只是错过了宣布.
我正在尝试将一些非常简单的数据从csv文件导入到我的 SQL Server 2014 中。
在csv文件中,我只有一列包含数字数据。
我正在使用 SQL Server Management Studio 17.6,连接到我的数据库,然后使用任务Import Flat File功能。
知道问题是什么以及如何解决它吗?
更新:
与提供实际文件不太一样,但这是文件的屏幕截图。它包含电话号码。我混淆了实际数字,这样我们就不会危害任何人的隐私。
我msal.js在我的 React 应用程序中使用 Azure AD B2C。
目前,当用户尝试进入我的应用程序的受保护区域时,msal.js会将用户重定向到登录页面,该页面提供指向注册页面的链接。
有没有办法让我直接将用户发送到注册页面?在某些情况下,我知道用户尚未注册,因此首先将用户发送到登录页面,然后让他们单击并转到注册页面,这是很糟糕的用户体验。最好直接让他们注册。
我正在使用FineUploader我的React应用程序将文件上传到Azure Blob存储.我目前正在使用验证来确保用户只能上传一个文件.我现在想再添加两个验证:
JPG和PNG文件如何添加这些验证?我是否需要options为每个要求提供验证属性,或者它们是否进入现有要求?我目前的验证如下:
// Omitted for brevity
constructor(props) {
super(props);
this.uploader = new FineUploaderAzure({
options: {
cors: {
expected: true,
sendCredentials: false
},
signature: {
endpoint: "some-url.com"
},
request: {
endpoint: "my-container-url"
},
validation: {
multiple: false
}
},
callbacks: {
onError: function (id, name, errorReason, xhrOrXdr) {
}
}
})
}
Run Code Online (Sandbox Code Playgroud) 我正在使用 React 前端在 ASP.NET Core 2.2 应用程序中实现 Azure SignalR 服务。当我发送消息时,我没有收到任何错误,但我的消息未到达 Azure SignalR 服务。
具体来说,这是一个私人聊天应用程序,因此当消息到达中心时,我只需将其发送给该特定聊天中的参与者,而不是发送给所有连接。
当我发送消息时,它会到达我的集线器,但我没有看到任何迹象表明该消息正在发送到 Azure 服务。
为了安全起见,我使用Auth0JWT Token身份验证。在我的中心,我正确地看到了授权用户声明,因此我认为不存在任何安全问题。正如我所提到的,我能够访问中心的事实告诉我,前端和安全性工作正常。
然而,在 Azure 门户中,我没有看到任何消息的迹象,但如果我正确读取数据,我确实会看到 2 个客户端连接,这在我的测试中是正确的,即我用于测试的两个打开的浏览器。这是一个屏幕截图:
这是我的Startup.cs代码:
public void ConfigureServices(IServiceCollection services)
{
// Omitted for brevity
services.AddAuthentication(options => {
options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
})
.AddJwtBearer(jwtOptions => {
jwtOptions.Authority = authority;
jwtOptions.Audience = audience;
jwtOptions.Events = new JwtBearerEvents
{
OnMessageReceived = context =>
{
var accessToken = context.Request.Query["access_token"];
// Check to see if the message is coming …Run Code Online (Sandbox Code Playgroud) azure signalr asp.net-core asp.net-core-signalr azure-signalr
我知道这是一个很常见的问题,因为似乎很多人都遇到了。我发布此问题,以查看当我发现所有解决该问题的建议均失败时是否有其他选择。
我有一个使用6个项目的解决方案Visual Studio 2019。一切正常,突然之间,我的解决方案似乎不受源代码控制。正在显示所有绑定,Invalid并且尝试修复它们无效。
我所做的唯一可能导致此问题的方法是升级VS 2019到最新版本,即在前16.2.5一天可用时。在更新之前,我正在使用VS 2019 16.2.4。除此之外,没有任何改变,我也没有做任何异常的事情。
我的问题是,在互联网上找到的所有建议方法都失败之后,我有什么选择?
到目前为止,这是我尝试过的,但没有任何效果:
我的解决方案有新变化。除了将整个解决方案下载到一个新文件夹并手动添加更改之外,我还需要哪些选项来解决此问题?
PS我使用Azure DevOps与TFVC源代码控制。
asp.net-core ×4
jwt ×2
reactjs ×2
sql-server ×2
asp.net ×1
auth0 ×1
azure ×1
azure-ad-b2c ×1
azure-devops ×1
csv ×1
excel ×1
linkedin ×1
linkedin-api ×1
msal.js ×1
oauth ×1
signalr ×1
t-sql ×1