小编Ale*_*uer的帖子

尽管服务帐户的角色正确,但机密管理器访问被拒绝

我正在 Nodejs (10) 中编写一个云函数,并尝试访问一个像这样的秘密:

const [secret] = await new SecretManagerServiceClient().accessSecretVersion({
    name: `projects/PROJECT_NUMBER/secrets/SECRET_NAME/versions/latest`
})
Run Code Online (Sandbox Code Playgroud)

我在 Web 控制台中创建了密钥,代码中使用的名称与现有密钥的名称相匹配。云功能详情页面上写着服务账号是PROJECT_ID@appspot.gserviceaccount,com,所以我加了secretmanager.secretAccessor角色。但是,我每次仍然遇到相同的错误:

Error: 7 PERMISSION_DENIED: Permission 'secretmanager.versions.access' denied for resource 'projects/PROJECT_NUMBER/secrets/SECRET_NAME/versions/latest' (or it may not exist).

如果我指定一个具体版本或只使用最新版本,这没有区别。

node.js google-cloud-platform google-secret-manager

19
推荐指数
3
解决办法
9352
查看次数

为模拟器构建时“重新定义模块...”

Generic iOS Device我有一个 iOS xcode 项目,当我选择作为目标时,它可以正常构建。但是,当我选择任何模拟器选项时,构建会失败Redefinition of module 'abcde',并出现许多错误,每个模块中定义的错误都有一个iOS 11.4/usr/include/module.modulemap

重复的定义来自Simulator - iOS 11.4/usr/include/module.modulemap. 我梳理了我的工作区/项目设置,发现没有对模拟器的引用。所有部署目标都是iOS 11.4.

看起来,当我为模拟器构建时,它包括平台和模拟器模块。我如何指定其中之一?

在添加 cocoapods 和 swift 代码大约一天后,这个问题突然出现,但我不知道它是否相关。(pod 的 sdk/部署目标也是iOS 11.4swift 版本为 4(Socket.IO 除外,它使用 3))。

我的 pods 项目正在使用生成的模块映射(我根本没有编辑它):

framework module Pods_MyProjectName {
  umbrella header "Pods-MyProjectName-umbrella.h"

  export *
  module * { export * }
}
Run Code Online (Sandbox Code Playgroud)

我一遍又一遍地用谷歌搜索这个问题,却找不到任何解决方案。我尝试过清理和重建、删除文件夹的内容Library/Developer/Xcode/DerivedData、删除 pod 的 modulemap 文件、注释掉 pod 的 modulemap 文件的每一行、删除自问题开始以来编写的所有代码...我有一种感觉我找错了地方。

xcode ios xcode9

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

无法解决:com.google.android.gms:play-services-cast:9.8.00

我正在使用Android Studio并克隆了CastVideo v2参考应用程序,并根据其说明使用CastCompanionLibrary进行设置.

但是,当我尝试同步gradle项目时,它说:Failed to resolve: com.google.android.gms:play-services-cast:9.8.00.我可以选择,Install Repository and sync project但它什么都不做.

我曾尝试做Invalidate Caches / Restart...,删除并重新安装Google Repository,并Google Play services与SDK管理器,改变依赖版本,重命名为play-services-cast-framework,但没有成功.

build.gradle的与回购中的人没有变化.

有谁知道如何解决这一问题?搜索其他尚未解决的依赖性问题时,搜索结果和谷歌搜索都没有用.

android google-play-services android-studio google-cast android-gradle-plugin

7
推荐指数
2
解决办法
8805
查看次数

如何模拟 PyMongo 以使用 Flask 应用程序进行测试?

我发现了类似的问题,但它们似乎只涵盖了模拟 MongoDB 而没有提到 Flask。

我有一个 Flask 应用程序,我正在尝试使用 PyTest(包括 PyTest-Mongo 和 PyTest-Flask)对其进行单元测试。然而,在我开始编写任何测试之前,我的测试脚本崩溃了。使用我的 Flash 应用程序导入脚本时发生崩溃:它试图创建没有 url 的 PyMongo 对象。

我的问题是:如何确保此时正确模拟 PyMongo?根据PyTest-Mongo 文档,MongoDB 测试装置应该传递给每个测试函数,但是如果它在导入时崩溃,这对我没有帮助。

test_app.py:

import pytest
import pytest_mongodb

from app import app


@pytest.fixture
def client():
    app.config['TESTING'] = True
    return client
Run Code Online (Sandbox Code Playgroud)

应用程序.py:

import ...

app = Flask(__name__)
app.config["MONGO_DBNAME"] = os.environ.get('DB_NAME')
app.config["MONGO_URI"] = os.environ.get('MONGO_URI')
app.secret_key = os.environ.get('SECRET')

mongo = PyMongo(app)

...

if __name__ == '__main__':
app.run(host=os.environ.get('IP'),
        port=int(os.environ.get('PORT')),
        debug=False)
Run Code Online (Sandbox Code Playgroud)

python mongodb pytest flask

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

库“package:splashscreen/splashscreen.dart”是遗留的,不应导入到空安全库中

我正在使用的进口:

import 'package:flutter/material.dart';
import 'package:splashscreen/splashscreen.dart';
import 'package:imagetotext/homePage.dart';
Run Code Online (Sandbox Code Playgroud)

然而,linter 给了我以下警告:

The library 'package:splashscreen/splashscreen.dart'' is legacy, and should not be imported into a null safe library. Try migrating the imported library. import_of_legacy_library_into_null_safe
Run Code Online (Sandbox Code Playgroud)

我正在使用的依赖项:

  cupertino_icons: ^1.0.3
  splashscreen: ^1.3.3
Run Code Online (Sandbox Code Playgroud)

错误图像

问题

dart flutter flutter-dependencies dart-null-safety

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

Flutter中的Box布局模型和Sliver布局模型(BoxConstraints和SliverConstraints)有什么区别?

在查看了一些 Flutter 文档后,我仍然对 Box 和 Sliver 协议(即 BoxConstraints 和 SliverConstraints)之间的差异感到困惑。

两者有何区别?

flutter flutter-layout

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

使 OpenSSL 接受过期的证书

我正在挖掘源代码,试图找到一种方法让 OpenSSL 始终接受过期的证书。我找不到过期错误/警报和实际检查代码之间的链接。任何人都可以指出我正确的方向吗?(我的 C 不是很好,我依赖于可以从 C++ 继承的东西)

我想接受过期证书的原因是因为我们有大量的嵌入式系统,它们的证书将在几个月后过期(更新不是一个选项,因为它们要么关闭要么在大容量存储中)。这些连接的服务器知道只接受这些系统,因此允许过期证书似乎是最直接的解决方案。

c ssl openssl

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

避免将jar依赖包装到aar中

我正在开发一个工作的android库,我们正在使用maven存储库中没有的一些jar.但是,我们在法律上不允许将这些罐装入我们的库中,除了我们的库之外,消费者必须自己获取这些罐子.

我的问题是,我似乎无法要求我们的库的消费者提供这些罐子(我正在使用包含aar的测试应用程序).我试过这个类似问题的解决方案无济于事.

我已经尝试将它们设置为provided而不是compile在我的gradle文件中:

// Neither of these seem to fix the problem
compile files('libs/externalDep.jar')
provided files('libs/externalDep.jar')
Run Code Online (Sandbox Code Playgroud)

我也尝试将它们排除在包装选项中:

packagingOptions { exclude 'libs/externalDep.jar }`
Run Code Online (Sandbox Code Playgroud)

我可以通过将其添加到android我的标签中来排除它们build.gradle:

android.libraryVariants.all { variant ->
variant.outputs.each { output ->
    def packageLib = output.getPackageLibrary()
    packageLib.exclude('libs/externalDep.jar')
}
Run Code Online (Sandbox Code Playgroud)

他们没有被添加到aar但是构建测试应用程序给了我:

com.android.build.api.transformTransformException:
  com.android.builder.packaging.DuplicateFileException:
    Duplicate files copied in APK VERSION.txt
File1: path/to/jar/in/test/app/project/externalDep.jar
File2: path/to/build/intermediates/exploded-aar/.../jars/classes.jar
Run Code Online (Sandbox Code Playgroud)

为了澄清,我并不关心maven repo依赖,那些工作正常.我只是希望使用该库的人必须获得并添加我们正在使用的那些罐子.
当然,有一个不太复杂的方式来指定这个?

android jar gradle aar

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