小编Uğu*_*ürk的帖子

如何从测试项目中读取API项目的launchSettings?

我使用的是.Net Core2.2。我有一个带有环境变量的 API 项目。这些变量正在注入CI。

我想做的是,当我运行集成测试时,它应该启动 API 项目(或伪造确切的 API 服务器)并调用其中一个控制器。

问题是 launchSettings.json 上的环境变量没有注入。

我的测试服务器初始化:

        var testServer = new TestServer(new WebHostBuilder()
            .ConfigureAppConfiguration((hostingContext, config) =>
            {
                config.AddEnvironmentVariables();
            })
            .UseStartup<Startup>());
Run Code Online (Sandbox Code Playgroud)

我已将相同的 launchSetting.json 文件添加到测试项目中,但它也不起作用。

我做错了什么?谢谢。

c# integration-testing xunit environment-variables asp.net-core

7
推荐指数
0
解决办法
2177
查看次数

通用实体基类

我刚刚读过一篇关于通用实体基类的文章。简单地说,如果我没有错的话,后面的主要思想是在一个接口中收集所有通用的、非实体特定的字段,而不是在主要实体中实现它。这将是一篇 TL:DR;让我们看一些代码。

这是基本实体接口,它是另一个接口的通用实现

public interface IEntity : IModifiableEntity
{
    object Id { get; set; }
    DateTime CreatedDate { get; set; }
    DateTime? ModifiedDate { get; set; }
    string CreatedBy { get; set; }
    string ModifiedBy { get; set; }
    byte[] Version { get; set; }
}

public interface IEntity<T> : IEntity
{
    new T Id { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这是它在抽象类中的实现

public abstract class Entity<T> : IEntity<T>
{
    [Key]
    [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    public T Id { get; set; }
    object IEntity.Id
    { …
Run Code Online (Sandbox Code Playgroud)

c# generics asp.net-mvc base-class

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

如何在没有用户凭据的情况下对移动应用程序进行身份验证?

我有一款与 API 交互的手机游戏。我希望仅从该移动应用程序调用此 API 。它解释起来很简单,但另一方面,它的简单又使它变得混乱

没有用户,因此没有用户凭据。这是一个从 API 请求图像的开放游戏。

我不想实施的事情:

  1. HardcodedSecret/apikey/token 等 -> 没有任何内容必须是硬编码的
  2. One Time Password-> 无需通过短信、电子邮件、推送通知或任何用户交互进行 OTP。
  3. Device IDAdvertising ID -> 好的解决方案,但任何其他应用程序也会获取此 ID,然后调用我的 API。另外,任何攻击者都可以发送任何内容作为设备 ID,对吧?那么如何验证该设备 ID 是否是现有设备的真实标识符呢?

游戏开发与Unity3D. API 由AWS API Gateway和组成Lambda。我正在考虑使用 AWSCognito作为身份验证服务器。

感谢您的想法!

authentication mobile jwt aws-lambda aws-api-gateway

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