小编Col*_*ell的帖子

Spring授权服务器:如何使用托管在单独应用程序上的登录表单?

我正在使用 Spring Security 和 Spring Authorization Server 并尝试创建身份验证服务器。

我有一个基本流程,允许我使用预先构建的登录页面登录(来自baledung 指南- 这是我正在处理的代码)。我假设这个登录页面表单来自formLogin()这样的:

        http.authorizeRequests(authorizeRequests ->
                authorizeRequests.anyRequest().authenticated()
        )
        //.formLogin(withDefaults());
        return http.build();
Run Code Online (Sandbox Code Playgroud)

登录页面

我不想使用这个预构建的表单,因为我需要完全单独托管和运行登录表单前端应用程序。即在不同的服务器、域和代码库上。

提出这个问题的另一种方式可能是:

  • 如何禁用内置表单,authorization-server以便我可以将其与完全独立的表单一起使用?
  • 有没有推荐的方法来学习如何按照SecurityFilterChain这些方式定制我的?这是正确的查看位置吗?我发现 baledung 文章(以及类似的文章)作为起点很有帮助,但很少适用于更实际的用例。我相信 Spring Security 和 oauth2 库将允许我做我想做的事情,但并不完全清楚。

spring spring-security oauth-2.0 spring-security-oauth2

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

放大:Lambda@Edge 解决下一个 CloudFront + DynamoDB 权限问题

我正在使用 amplify-cli 将 Next.js 应用程序部署到 Amplify。我已将我的 amplify 应用程序连接到几个现有的(使用 terraform 创建的)DynamoDB 表。我已成功修改附加的放大应用程序的服务角色,添加到AmazonDynamoDBFullAccess权限策略中(稍后我将对其进行限制)。我本以为这会起作用,但它不会传播到创建的API Lambda@Edge for Next CloudFront distributionDefault Lambda@Edge for Next CloudFront distribution

我可以看到日志显示这些 lambda 的权限错误。

arn:aws:sts::999999999:assumed-role/rgsuvm9-psuzoeg/us-east-1.ggvvff-abc123 is not authorized to perform: dynamodb:Scan on resource: arn:aws:dynamodb:eu-west-2:6666666666:table/MyTable
Run Code Online (Sandbox Code Playgroud)

我注意到这些角色是使用为AWS Service: lambda可信实体生成的名称自动创建的,这些实体附加了仅允许访问日志和 S3 的策略。

生成的边 lambda 角色列表

以下是这些生成的角色的附加权限策略之一的示例(这是在我手动编辑它以添加 dynamodb 访问权限之前):

arn:aws:sts::999999999:assumed-role/rgsuvm9-psuzoeg/us-east-1.ggvvff-abc123 is not authorized to perform: dynamodb:Scan on resource: arn:aws:dynamodb:eu-west-2:6666666666:table/MyTable
Run Code Online (Sandbox Code Playgroud)

手动选择其中之一并添加 dynamodb 读/写权限可以解决问题,并且 SSR Edge lambda 似乎具有连接到 dynamodb 的正确权限 - 很好,但这不是一个好方法

我的问题是:如何更改SSR Lambda的权限?对我来说手动将这些权限添加到这个明确生成的角色中并不是一个可行或好的解决方案。

对我来说,它不使用放大应用程序的常规设置中分配的服务角色似乎很奇怪。这可能是 amplify 的问题吗?还是我错误配置了服务角色?(我使用的服务角色使用 …

amazon-web-services amazon-dynamodb aws-lambda next.js aws-amplify

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