小编Mvd*_*vdD的帖子

如何在AAD中获取下游服务的令牌

我有一个MVC应用程序,我用它OpenIdConnectAuthenticationMiddleware来验证用户对AAD.此MVC应用程序使用一些需要用户身份验证上下文的后端服务.

如果我在AAD中单独注册这些服务,我可以使用它来获取令牌 AuthenticationContext.AcquireTokenSilentAsync.但是,使用AAD单独注册这些服务似乎是错误的,因为它们需要用户单独同意它们(它们实际上是应用程序的一部分).

因此,当用户进行身份验证时,我想使用从AAD获得的JWT令牌,并将其用作承载令牌以调用下游服务.我意识到这些服务需要与MVC应用程序具有相同的受众.

但是我如何获得JWT令牌.ClaimPrincipal的第一个标识没有引导上下文.

c# authentication azure azure-active-directory adal

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

如何获得通过,失败和从pytest跳过的测试总数

如何在pytest中获取测试会话的统计信息?

我尝试pytest_sessionfinishconftest.py文件中定义,但是我只在该文件中看到testsfailedtestscollected属性。

我还需要知道通过,跳过的测试数量以及花费的总时间。由于pytest在每个会话结束时都会打印该信息,因此我假设有一种编程的方式可以检索该信息。

python unit-testing pytest

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

如何从dict初始化SimpleNamespace

我相信这一定很简单,但我找不到答案.

我有一个字典,如:

d = {'a': 1, 'b':2}
Run Code Online (Sandbox Code Playgroud)

我想通过点表示法来访问它,例如: d.a

SimpleNamespace是为此而设计的,但我不能将dict传递给SimpleNamespace构造函数.我收到错误:TypeError: no positional arguments expected

如何从字典初始化SimpleNamespace?

python dictionary python-3.x

2
推荐指数
1
解决办法
1478
查看次数

使用 requests-html 在不启动服务器的情况下测试 Flask 应用程序

我一直在使用 Flasktest_client对象来测试我的 Web 应用程序。我使用BeautifulSoup来解析其中一些调用的 HTML 输出。

现在我想尝试使用requests-html,但我不知道如何让它与 Flask 测试客户端一起工作。示例都使用请求包来获取响应,但 Werkzeug 测试客户端并没有进行实际的 HTTP 调用。据我所知,它设置了环境并只调用处理程序方法。

有没有办法使这项工作无需运行实际服务?

python wsgi werkzeug flask python-requests

2
推荐指数
1
解决办法
493
查看次数

迭代脚本中对象的属性#

什么脚本#代码会生成以下JavaScript?

var obj = eval('(' + jsonText + ')');

for (key in obj)  // what C# code translates to this iteration?
{
    // ...
}
Run Code Online (Sandbox Code Playgroud)

谢谢.

javascript c# iteration script#

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

Parallel.For vs ThreadPool和async/await

我试图以异步方式处理5000个文件,而不会使Threadpool不受限制.该Parallel.For环路但是,不给我一个一致的正确答案(计数出现短),而Task.Run是.

Parallel.For导致这些错误答案的循环中我做错了什么?

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading;
using System.Threading.Tasks;

class Program
{
    static volatile int count = 0;
    static volatile int total = 0;
    static void Main(string[] args)
    {
        Parallel.For(0, 5000, new ParallelOptions { MaxDegreeOfParallelism = 10 },
            async (index) =>
            {
                string filePath = $"C:\\temp\\files\\out{index}.txt";
                var bytes = await ReadFileAsync(filePath);
                Interlocked.Add(ref total, bytes.Length);
                Interlocked.Increment(ref count);
            });
        Console.WriteLine(count);
        Console.WriteLine(total);

        count = 0;
        total = 0;
        List<Task> tasks = new List<Task>();
        foreach …
Run Code Online (Sandbox Code Playgroud)

c# task-parallel-library async-await

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