Hi Sven, hi Jan,

thank you.
I am one step further now but there must be something else missing to load.
I failed with my current image, so I tried the following:

I took a fresh image - the Pharo 1.4. one click app from the pharo homepage
(http://gforge.inria.fr/frs/download.php/31258/Pharo-1.4-14557-OneClick.zip)

Then I loaded seaside 3.0 (from the welcome screen - MetacelloConfigurationBrowser open).

After that, I loaded

Gofer it
� url: 'http://mc.stfx.eu/ZincHTTPComponents';
� package: 'ConfigurationOfZincHTTPComponents';
� load.

And then the bleeding Edge version
ConfigurationOfZincHTTPComponents project bleedingEdge load: 'SSO'.

Then this was possible:
(ZnServer startDefaultOn: 8100)
������� logToTranscript;
������� debugMode: true;
������� delegate: (ZnSSOServerDelegate new
��������������� dropboxData: (ZnOAuth1ConsumerData newForDropbox
��������������������������������������������������������������� consumer: 'my appdata';
��������������������������������������������������������������� consumerSecret: 'my appdata';
��������������������������������������������������������������� yourself);
��������������� yourself).

No I tried in my browser
localhost:8100/sso-dropbox

Then I got a walkback in my Image: No secure socket stream class set or available

==>> I do not have the class ZdcSecureSocketStream in my Image
self secureSocketStreamClass is Nil in

streamClassForScheme: scheme
��� (#(http ws) includes: scheme) ifTrue: [
��� ��� ^ self socketStreamClass ].
��� (#(https wss) includes: scheme) ifTrue: [
��� ��� ^ self secureSocketStreamClass ifNil: [
��� ��� ��� self error: 'No secure socket stream class set or available' ] ].
��� (ZnUnknownScheme scheme: scheme) signal

Can you tell me what is missing to load?

Greetings
Sabine


30 January 2013 5:14:22.402 pm

ZnNetworkingUtils(Object)>>error:
��� Receiver: a ZnNetworkingUtils
��� Arguments and temporary variables:
��� ��� aString: ��� 'No secure socket stream class set or available'
��� Receiver's instance variables:
��� ��� socketStreamClass: ��� SocketStream
��� ��� secureSocketStreamClass: ��� nil

ZnNetworkingUtils>>streamClassForScheme:
��� Receiver: a ZnNetworkingUtils
��� Arguments and temporary variables:
��� ��� scheme: ��� #https
��� Receiver's instance variables:
��� ��� socketStreamClass: ��� SocketStream
��� ��� secureSocketStreamClass: ��� nil

ZnNetworkingUtils>>socketStreamToUrlDirectly:
��� Receiver: a ZnNetworkingUtils
��� Arguments and temporary variables:
��� ��� url: ��� https://api.dropbox.com/1/oauth/request_token
��� ��� stream: ��� nil
��� ��� address: ��� #[199 47 218 158]
��� Receiver's instance variables:
��� ��� socketStreamClass: ��� SocketStream
��� ��� secureSocketStreamClass: ��� nil

ZnNetworkingUtils>>socketStreamToUrl:
��� Receiver: a ZnNetworkingUtils
��� Arguments and temporary variables:
��� ��� url: ��� https://api.dropbox.com/1/oauth/request_token
��� Receiver's instance variables:
��� ��� socketStreamClass: ��� SocketStream
��� ��� secureSocketStreamClass: ��� nil




On Wed, Jan 30, 2013 at 4:37 PM, Sven Van Caekenberghe <sven@stfx.eu> wrote:
Sabine,

On 30 Jan 2013, at 16:24, Sabine Kn�fel <sabine.knoefel@gmail.com> wrote:

> Hi Sven,
>
> after loading:
>
> Gofer it
> � url: 'http://mc.stfx.eu/ZincHTTPComponents';
> � package: 'ConfigurationOfZincHTTPComponents';
> � load.
>
> ConfigurationOfZincHTTPComponents project latestVersion load: 'SSO'.
>
> The ZnOAuth1ConsumerData does not have a method called >>newForDropbox (but >>newForGoogle and >>newForTwitter).
> Also, ZnSSOServerDelegate does not have a method >>dropboxData: (but facebook, twittter and google)
>
> Did I miss something?

Yes and no. The latest stable version of the configuration does not yet include the Dropbox code.
The following will load what is called bleedingEdge, the very latest version of everything, regardless of its release status.

� ConfigurationOfZincHTTPComponents project bleedingEdge load: 'SSO'.

Sorry about that.

Sven

> Greetings
> Sabine
>
>
> On Sun, Jan 27, 2013 at 8:47 PM, Sven Van Caekenberghe <sven@stfx.eu> wrote:
>
> On 27 Jan 2013, at 13:32, Sven Van Caekenberghe <sven@stfx.eu> wrote:
>
> > If anyone is interested, I can write another email explaining how you can run this demo for yourself on your own account.
>
> How to run the Dropbox code yourself:
>
> 1. Get yourself a free Dropbox account at http://www.dropbox.com
>
> 2. Install some client software on one or more of your computers (Mac, Windows, Linux) or devices (iOS [iPhone, iPad, iPod], Android, BlackBerry, Kindle Fire) and move some files around to get a feel for the service.
>
> 3. When you give other applications access to (part of) your Dropbox files, you can check that at https://www.dropbox.com/account#applications
>
> 4. Define your own app that will try to access Dropbox files. Go to https://www.dropbox.com/developers (Developer home) and start defining a new app by clicking the 'Create an app' button at https://www.dropbox.com/developers/apps - start with the access type 'App folder'.
>
> 5. The two important elements you need are the 'App key' and 'App secret', make sure to copy them correctly.
>
> 6. Get the very latest code in your image (we develop in Pharo 2.0, but 1.4 or even 1.3 should work - SSL has to be fully operational).
>
> Gofer it
> � url: 'http://mc.stfx.eu/ZincHTTPComponents';
> � package: 'ConfigurationOfZincHTTPComponents';
> � load.
>
> ConfigurationOfZincHTTPComponents project latestVersion load: 'SSO'.
>
> 7. Start a Zn server with an appropriate delegate, configured for your app
>
> (ZnServer startDefaultOn: 8100)
> � � � � logToTranscript;
> � � � � debugMode: true;
> � � � � delegate: (ZnSSOServerDelegate new
> � � � � � � � � dropboxData: (ZnOAuth1ConsumerData newForDropbox
> � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � consumer: 'vqz-app-key-zoca';
> � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � consumerSecret: '13u-app-secret-8l006';
> � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � � yourself);
> � � � � � � � � yourself).
>
> (The above is a demo setup limited to Dropbox, the other demos are not configured and won't work).
>
> 8. Go to http:://localhost:8100/sso-dropbox and click the link to log in - you will be transferred to Dropbox to log in (if you aren't already) and asked to authorise your demo app, after which Dropbox will redirect you back to your app.
>
> 9. Once back in your app, sso-dropbox-callback (#ssoDropboxCallback:) will access your account info and list the app root folder, which will then be shown.
>
> 10. For the rest of the API, (currently not yet implemented), see https://www.dropbox.com/developers/reference/api - you don't have to worry about the whole authentication thanks to Zinc-SSO.
>
> We would love for others to try this (as well as the other Zinc-SSO options, Google, Facebook, Twitter) out, in their own projects, and to provide actual feedback and generally help improve the code and documentation.
>
> As always, May the Source be with you!
>
> Sven
>
> PS: The demo app is not (yet) a production app: only you and up to 5 explicitly listed users can use it. You have to apply for production status later on. Also, the whole ZnSSOServerDelegate code is a demo, for an actual project, it would be best to extract the necessary parts out of it, reusing the underlying Zinc-SSO-OAuth1-Core framework.
>
> --
> Sven Van Caekenberghe
> http://stfx.eu
> Smalltalk is the Red Pill
>
>
>