小编Lut*_*ndo的帖子

尝试执行SignInAsync时出现InvalidOperationException

我正在尝试在普通控制器中签署用户.我有类似的东西:

var claims = new List<Claim>
{
    new Claim(JwtClaimTypes.Subject, "xxx-xxx-xx-xxx),
    new Claim(JwtClaimTypes.PreferredUserName, "someusername"),
    new Claim(JwtClaimTypes.Email, "foo@bar"),
    new Claim(JwtClaimTypes.EmailVerified, "foo@bar:),
    new Claim(JwtClaimTypes.IdentityProvider, "idsvr"),
};

var ci = new ClaimsIdentity(claims, "password", JwtClaimTypes.PreferredUserName, JwtClaimTypes.Role);
var cp = new ClaimsPrincipal(ci);
await HttpContext.Authentication.SignInAsync("myscheme", cp);
Run Code Online (Sandbox Code Playgroud)

我得到一个例外说法 InvalidOperationException: name claim is missing

在ClaimsIdentity的构造函数中,我指定了我的名字声称是JwtClaimTypes.PreferredUsername(这是"preferred_username")

如果我确实在声明列表中添加了名称声明,则登录可以正常使用上面的代码段.但是,我们实际上在我们的系统中没有名称声明.我们希望在抽象中使用"preferred_username"作为名称声明.

asp.net-core-mvc asp.net-core asp.net-core-identity

6
推荐指数
0
解决办法
170
查看次数

Azure Web App即将推出

部署到我们的Azure Web App后,我们对服务的任何请求都会收到500次超时:

500 - 请求超时.

Web服务器无法在指定时间内响应.

我已启用web.config中的日志记录,并且日志在启动时没有显示任何异常或任何奇怪的内容.只有这个在stdout_abdce_2016wxyz.log中:

Hosting environment: Development Content root path: D:\home\site\wwwroot Now listening on: http://localhost:5000 Application started. Press Ctrl+C to shut down. stdouts

事情是我有大量具有相同内容的日志.每3分钟(约)似乎有一个新的生成.

运行AspNet Core RTM(在从RC1进行升级之后.我从github上的aspnet/IIS存储库获取了web.config.该项目在我的开发PC上本地运行并运行良好

azure azure-web-sites azure-web-app-service asp.net-core asp.net-core-1.0

5
推荐指数
1
解决办法
647
查看次数

检查会话Iframe OpenIDConnect

我有一种情况,我有一个RP,没有明确要求你登录它.但是我看了一下Open ID Connect的会话管理规范,更具体地说是这里check_session_iframe起草的端点规范

我想知道以下情况是否可行.我有一个RP,它使用客户端x将登录联合到我的OP上.即使您没有会话ID(或sid),我是否可以查看客户端(x)是否已登录到OP .换句话说,应用程序可以查看您是否与OP进行会话,这样您就不会被迫提示对OP进行登录.

出于用户体验原因,我想要满足的基本流程是

1)去RP.

2)检查RP是否与OP进行会话.

3) - 如果有会话则自动登录(不启动流程)

  • 如果没有会话则不做任何事情(即不需要提示登录).

这样的事情可能吗?我确实理解,如果您之前已经登录(通过使用给定的session_stateclient_id),可以获取会话信息

我查看了IdentityServer3.Samples,更具体地说是客户端示例,它显示了如何在此处检查会话状态,但是这个示例似乎显示了在登录后如何检查会话状态.我想知道它是否可以可以在RP明确请求登录之前检查客户端当前是否确实有会话.

openid-connect identityserver3 identityserver4

5
推荐指数
1
解决办法
3585
查看次数

使用express-jwt作为中间件来验证Azure AD发布的令牌

我想知道是否可以使用express-jwtNPM包作为中间件来验证Azure AD发布的JWT令牌.

我们有一个用express/node编写的Web API,并希望应用中间件模式来保护我们的端点并填充用户原则.

似乎:

server.use(jwt({
    audience: '{UUID}',
    issuer: 'https://sts.windows.net/{UUID}',
}).unless({path : ['/']}))
Run Code Online (Sandbox Code Playgroud)

不起作用,因为它需要客户端秘密,但是从AD(很像隐式流),通过用户交互检索令牌,并且没有客户端秘密.

authentication node.js express openid-connect

5
推荐指数
1
解决办法
657
查看次数

使用 FFMPEG 从音频文件中获取波形数据

我正在编写一个需要获取音频文件的原始波形数据的应用程序,以便我可以在应用程序 (C#/.NET) 中呈现它。我正在使用 ffmpeg 来卸载此任务,但看起来 ffmpeg 只能将波形数据作为 png 或作为流输出到 gnuplot

我已经查看了其他库来执行此操作(NAudio/CSCore),但是它们需要 Windows/Microsoft 媒体基础,并且由于此应用程序将作为 Web 应用程序部署到 azure,因此我无法使用它们。

我的策略是只从 png 本身读取波形数据,但这似乎有点过头了。理想的输出将是数组中固定采样的一系列峰值,其中数组中的每个值都是峰值(范围从 1-100 或类似的值,例如这样)。

.net c# ffmpeg azure asp.net-core

3
推荐指数
1
解决办法
4435
查看次数