2017-01-12 5 views
0

Ich möchte OAuth2.0-Berechtigungsnachweise aus meinem Mule-Service-Flow übergeben, um sie mit der FitBit-API zu integrieren. OAuth2.0-Anmeldeinformationen von Mule Service

Wenn ich versuche FitBit API von PostMan, es zu konsumieren, ist eine Bestimmung von "Get New Access-Token", die Benutzer auffordert, zu übergeben 1) Auth URL 2) Zugriffstoken URL 3) Client ID 4) Client Geheimnis (FYI - alle diese Anmeldeinformationen würden von FitBit generiert werden.

Mein Problem hier ist, ich bin nicht sicher, wie diese Anmeldeinformationen von Mule weitergegeben werden würden?

Kann jemand bitte mir helfen, einige Zeiger bitte zur Verfügung zu stellen?

Antwort

0

Ich denke, Ihre Situation ist die gleiche wie the Github API example in den MuleSoft-Dokumenten.

Konfigurieren die Mule Client-Anwendung der FitBit API wie das Beispiel für den Zugriff zeigt die Github API für den Zugriff auf:

<http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8081" doc:name="HTTP Listener Configuration" basePath="/github"/> 
<http:request-config name="HTTP_Request_Configuration" protocol="HTTPS" host="api.github.com" port="443" doc:name="HTTP Request Configuration"> 
    <oauth2:authorization-code-grant-type clientId="27...df" clientSecret="ae...6" redirectionUrl="http://localhost:8082/callback"> 
     <oauth2:authorization-request authorizationUrl="https://github.com/login/oauth/authorize" localAuthorizationUrl="http://localhost:8082/login" /> 
     <oauth2:token-request tokenUrl="https://github.com/login/oauth/access_token"> 
      <oauth2:token-response accessToken="#[payload.'access_token']" refreshToken="#[payload.'access_token']"/> 
     </oauth2:token-request> 
    </oauth2:authorization-code-grant-type> 
</http:request-config> 
<flow name="oauth-grant-codeFlow"> 
    <http:listener config-ref="HTTP_Listener_Configuration" path="/" doc:name="HTTP"/> 
    <http:request config-ref="HTTP_Request_Configuration" path="/user" method="GET" doc:name="HTTP"> 
     <http:request-builder> 
      <http:header headerName="Accept" value="application/vnd.github.v3+json"/> 
     </http:request-builder> 
    </http:request> 
    <dw:transform-message doc:name="Transform Message"> 
     <dw:set-payload><![CDATA[%dw 1.0 %output application/json 
      --- 
      payload]]> 
     </dw:set-payload> 
    </dw:transform-message> 
</flow> 
+0

Dank für die Hilfe anbieten! Lass mich das vorgeschlagene Szenario ausprobieren. Wird bei jeder Frage zurückgenommen. – Maddy

+0

Ich habe versucht, die Anweisungen zu Mule soft zu befolgen, die Sie angegeben haben, aber wenn ich versuche, meine Anwendung bereitzustellen, gibt es mir einen TLS-Fehler, | | | java.lang.IllegalStateException: kann ein Zuhörer für http ohne TLS Kontext bereitgestellt \t bei org.mule.module.http.api.listener.HttpListenerBuilder.resolveListenerConfig (HttpListenerBuilder.java:268) \t bei org.mule erstellen. module.http.api.listener.HttpListenerBuilder.build (HttpListenerBuilder.java:195) Können Sie bitte einen Zeiger zur Verfügung stellen? Danke im Voraus!! – Maddy

+0

Ich sehe einige Browser-Anforderungen, wie TLS-Zertifikat-Informationen, auf der Fitbit-Website https://dev.fitbit.com/docs/oauth2/ angegeben. Welchen Browser benutzen Sie? Haben Sie die Fitbit-Schritte für den Berechtigungscode-Genehmigungsablauf befolgt? – catpaws

0

Ich wurde auch die gleichen Fehler beim Versuch, mit Channel API.This Fehlern zu verbinden kommt nur wenn Sie versuchen, HTTPS zu verwenden. Die Lösung dieses Problems besteht darin, Ihre TLS/SSL-Einstellung zu konfigurieren. Installieren Sie ein neues Zertifikat für dasselbe.

Danke, -DEV