小编ana*_*edi的帖子

放置在 flutter bloc 中

在下面的代码中,profileBloc 在 EditProfileScreenState 的 didChangeDependency() 方法中初始化。

我们应该在 EditProfileScreenState 类上调用 dispose 方法来处置 profileBloc 吗?

如果是这样,应该如何处置 profileBloc 方法,因为 ProfileBloc 类扩展了没有 dispose 方法的 Bloc 类?

class Profile extends StatelessWidget {

  @override
  Widget build(BuildContext context) {
    return BlocProvider(
      create: (BuildContext context) => ProfileBloc(AuthRepo()),
      child: ProfileScreen(),
    );
  }
}

class ProfileScreen extends StatefulWidget {

  @override
  EditProfileScreenState createState() => EditProfileScreenState();
}


class EditProfileScreenState extends State<ProfileScreen> {

  ProfileBloc profileBloc;

  @override
  void didChangeDependencies() {
    profileBloc = BlocProvider.of<ProfileBloc>(context);
    super.didChangeDependencies();
  }

  @override
  void dispose() {
    // TODO: implement dispose
    //profileBloc.dispose() …
Run Code Online (Sandbox Code Playgroud)

dart flutter flutter-bloc

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

在 REST 微服务上使用 Zuul Proxy、Oauth2 实现身份验证和授权

微服务架构

我正在尝试使用 Spring Boot 在工作流中实现上述架构。

  • Web 客户端通过 Zuul 代理向资源服务器(微服务端点)发出请求。
  • Zuul 代理重定向到 oauth2 服务器进行身份验证。
  • 无论请求是否通过身份验证,Oauth2 都会重定向到 Zuul 代理。
  • 如果未通过身份验证,Zuul 将使用未经身份验证的响应重定向 Web 客户端。
  • 如果已通过身份验证,Zull 代理将重定向到请求的微服务端点。
  • 微服务端点检查用户是否被授权(用户级别访问)访问资源。
  • 微服务还可以对其他微服务进行内部休息调用。
  • 最后,请求的资源被发送回客户端。

我想确保我遵循正确的工作流程。

我想知道是否有任何解决方案实现了类似的用于保护微服务 API 的解决方案。

我有以下困惑:

  • 我们如何将用户详细信息传递给微服务,以便微服务可以做自己级别的用户授权?
  • 是否应该将 OAuth2 访问令牌标头传递给每个微服务,以便微服务可以单独验证令牌?
  • 每个微服务是否应该使用秘密凭证来验证访问令牌,以便无法在请求链上伪造令牌?

我知道这是一个有点冗长的问题。但我还没有找到上述架构的合适解决方案。

oauth-2.0 spring-boot spring-security-oauth2 microservices netflix-zuul

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