如何从Mule cloud connector将oauth令牌或OAuthaccesstokid传递给javascript

如何从Mule cloud connector将oauth令牌或OAuthaccesstokid传递给javascript,oauth,mule,Oauth,Mule,我正在Mule中使用一些云连接器,它们使用OAuth并使用Authorizare消息处理器对连接器进行授权。在与服务提供者登录之后,我可以使用OauthAccessTokenId获取访问令牌,以便将来调用 我通过Javascript与此进行交互。我有一个在Mule中运行授权流的登录按钮。然后我有一个单独的流来调用api方法。但是如何将oauthaccesstokenid传递回auth流中的Javascript应用程序,以便将其传递回Mule以调用API 在授权处理器之后,我将执行302重定向,返

我正在Mule中使用一些云连接器,它们使用OAuth并使用Authorizare消息处理器对连接器进行授权。在与服务提供者登录之后,我可以使用OauthAccessTokenId获取访问令牌,以便将来调用

我通过Javascript与此进行交互。我有一个在Mule中运行授权流的登录按钮。然后我有一个单独的流来调用api方法。但是如何将oauthaccesstokenid传递回auth流中的Javascript应用程序,以便将其传递回Mule以调用API

在授权处理器之后,我将执行302重定向,返回到我的javascript应用程序,并将oauthaccesstokenid存储在cookie中。这是最好的方式吗?还有关于安全性的想法吗?

注意:假设您谈论的是OAuth2

您所描述的是一个典型的场景,在该场景中,将非常有用:对于这种授予类型,通过请求片段将访问令牌提供给web浏览器(因此它承载的JavaScript代码)

不过,我不确定云连接器是否在本地支持此功能。如果不是,吃块饼干也行


就安全性而言,与在片段中传递令牌相比,我所看到的cookie的唯一问题是,它将在客户端上持久化。这意味着这些令牌通常是短期的(值得检查您收到的令牌的TTL是多少),因此攻击面不会很宽。

只是为了确定:您在这里谈论的是OAuth1或OAuth2?谢谢David。我使用的是Salesforce云连接器,我认为它使用了服务器的授权代码流。目前,我只是使用th oauthaccesstokenid flowVar在请求之间匹配用户。我想我可以让我的授权代码流模拟隐式授权流,作为授权流上的一个门面,并为片段传递来自javascript的回调。当前的cookie解决方案似乎将my mule flow与客户端应用程序紧密耦合。你对这种方法有什么想法?你正在构建的流程是特定于客户端应用程序的,所以我不认为cookie会显著增加耦合。用片段替换cookie具有熟悉隐式授权方法的优势……我唯一担心的是,SF可能会从授权代码流中为您提供更可信的令牌,并且将其传递回客户端应用程序可能是一个安全问题。你需要确保这样做没有问题。或者,您必须将令牌存储在Mule中,生成与该令牌关联的会话ID,并提供会话ID。这样客户就永远不会有代币在手。谢谢。是否有跨JavaScript/Mule处理会话的示例等?另外,我并没有传回访问令牌本身,而是传回OAuthAccessTokenId,它是对Mules对象存储中该用户的所有oauth信息的引用。所以这只能通过我的骡子流使用。那么这个id是否足够安全,可以用作会话id?然后通过饼干或碎片把它传回去。我不知道有这样的例子。是的,那么,如果这只是一个符号ID,你就没事了。