Die Verwendung von OAuth 2.0-Token-Anmeldung Salesforce.com
Derzeit sind uns keine Verwendung von OAuth mit unseren apps, aber wir arbeiten daran, die shift -, haben wir den direkten login und erfassen die user/pass eingegeben haben und speichern diese. Dann wenden wir uns um und verwenden Sie die gespeicherte Anmeldeinformationen für eine Funktion, die ermöglicht dem Benutzer das öffnen eines Datensatzes innerhalb Salesforce.com wir passieren den Benutzer/Passwort in der login-Endpunkt zusammen mit einer Start-URL an den bestimmten Datensatz, das funktioniert Super und ist ein dankbares feature, wie es ist eine einfache SSO aus der App Salesforce.com wo kann der Benutzer alle Daten sehen, die möglicherweise nicht sichtbar in der app.
Bewegen zu OAuth 2.0 und der standard-webflow, die wir nicht mehr erfassen können, die Benutzer/pass, das ist eigentlich eine gute Sache so weit wie Sicherheit besorgt ist. Wir würden jedoch gerne halten Sie diese Funktionalität, ist es sowieso SSO ' Ing in Salesforce.com durch die Weitergabe entlang eines der OAuth-Token oder irgendeine Art von sesson-id?
Nach der Lektüre mehr und denken über das, was OAuth erreicht ich fühle mich wie dies wahrscheinlich nicht möglich sein, dass die Token erhalten sollen verwendet werden, nur mit der API und nicht mit dem front-end-system. Ich hoffe, dass ich falsch bin, obwohl es einen Weg gibt, um sich an den front-end mit diesen Token.
BEARBEITEN
Ok, ich bin Bearbeiten, hoffentlich machen dies besser klar. Derzeit Benutzers die Authentifizierung mit der login () - API-Methode mit Ihrem Benutzername/Passwort ein, wir speichern username/Passwort lokal (nicht ideal). Wir synchronisieren Sie dann eine Teilmenge der Daten, die die Benutzer zugreifen können, jederzeit innerhalb der app, es ist eine Teilmenge, haben wir eine Funktion, "die SSO", um die Salesforce.com front-end. Dieses einfach öffnet Salesforce.com in einer web-view (UIWebView) mit der URL https://ns8.salesforce.com/?pw=PASSWORD&[email protected]&startURL=/recordId
. Dies wird melden uns bei Salesforce.com und öffnen Sie den angegebenen Datensatz.
Voran wollen wir für die Verwendung von OAuth 2.0 mit dem web-Strömung, so dass wir nicht Umgang mit der user/pass und so, dass wir nicht haben, um mit Security-Token oder die öffnung bestimmter IP-ranges zu erlauben login ohne ein Sicherheits-Token.
Mit dieser sagte, ist es trotzdem auf die Benutzung des tokens/Anmeldeinformationen erhalten von der OAuth-Authentifizierung zu öffnen Salesforce.com, automatische Anmeldung der Benutzer an, und gehe zu einem bestimmten Datensatz?
Vielleicht habe ich falsch verwendet "single sign on" vor, aber in einem Sinn, dieser simuliert ein SSO über unsere App Salesforce.com,, dass unsere Benutzer können berühren einer einzigen Taste in der app und angemeldet sein, um die Salesforce.com web-interface.
InformationsquelleAutor Chris Wagner | 2011-12-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie Anfrage ein OAuth-token, die Sie angeben können, welchen Umfang es hat, Optionen sind api-nur (das original-type von Token), oder andere Optionen, die die Fähigkeit, verwenden Sie das token mit den UI Seiten. (sehen Sie den scope-parameter detail in der helfen). Eine der noch fehlenden Stücke ist ein Weg, um bootstrap UI mit, das token, wenn alle, die Sie tun können, ist zu sagen, eine browser/webview zu springen eine URL, aber eine weit verbreitete (aber nicht unterstützte) Möglichkeit ist über die Fronttür.jsp, z.B. Sie würden öffnen https://{instance}/secur/frontdoor.jsp?sid={the_Access_token}&retURL={optional_relative_url_to_open} denken Sie daran URLEncode die 2 Werte.
Funktioniert perfekt, danke nochmal!
Danke. Diese Antwort arbeitete auch für uns. Sie erwähnen, dass diese nicht unterstützt werden. Gibt es eine andere Möglichkeit, die wird offiziell unterstützt durch Salesforce?
Nein, es ist keine unterstützte entspricht der Fronttür.jsp noch.
Der Winter 14 wird Angebot unterstützt Fronttür.jsp: help.salesforce.com/help/doc/en/...
InformationsquelleAutor superfell
So, ich denke, Sie sagen, Ihre Anwendung verwendet die BDE Benutzername und Passwort ein, um nur Authentifizierung zum abrufen eines Datensatzes von SFDC, um in Ihrer app angezeigt werden?
WENN dies korrekt ist - was ich denke, es ist - dann könnten Sie einfach die standard Salesforce Single-Sign-On-system zu authentifizieren. Es ist ein Leitfaden hier die Umrisse der Prozess der Einrichtung einer SAML-SSO-system mit Pat Patterson schreiben eine interessante Funktion auf, wie das Sicherheitssystem funktioniert hier. Er hat auch geschrieben, eine große blog-post auf DeveloperForce hier über die wesentlichen details des OAuth im Allgemeinen für Force.com und nicht nur die SAML-setup. Ich habe verwendet das OAuth-system in einer iPad-app gegen SFDC und es funktioniert schnell und einfach. Ich kann nicht sehen, warum Ihr system sollte nicht möglich sein, verwenden Sie das Protokoll, wie Sie es wünschen.
superfell Antwort ist genauer mit mir eine Allgemeine Anleitung zu den möglichen OAuth-Ansätze, die auf FDC. Sie wird nützlich sein, um Sie, wie Sie gehen weiter den Weg, den ich mir vorstellen, aber froh, Sie haben eine Lösung.
InformationsquelleAutor pbattisson
Den direkten Zugriff auf Salesforce ist einer der wichtigsten Vorteile von SSO und definitiv zur Verfügung gestellt. Ich bin nicht sicher, wo Sie Lesen, dass die SSO in Salesforce API nur. Aus der SSO-PDF pbattisson verknüpft für Sie:
OAuth 1 & 2 sind beide unterstützt, obwohl ich bin ein fan von OAuth 2 da 1 hat wirklich pingelig zusätzliche Schritte, die die Reihenfolge der Parameter und deren Codierung Sequenzen. Ich schrieb vor kurzem einen Apex-integration von Twitter und schnell gemerkt, dass es war nicht so einfach als Facebook, die verwendet OAuth 2.0.
Aber in deinem Fall klingt es wie Sie wollen einfach nur, um Benutzer mit der Fähigkeit, tatsächlich anmelden, um Salesforce und gehen Sie zu einer bestimmten Zielseite nach erfolgreicher Authentifizierung. Dies ist auf jeden Fall machbar.
Glück!
InformationsquelleAutor Adam