How to configure SteemConnect v2 and use it with your application. How it works and how it is different from v1.

in #steemconnect7 years ago (edited)

configuration.jpg

What is SteemConnect?

Probably you are familiar with a possibility of logging to different websites with Facebook, that is Facebook Connect. This not only confirm your identity, but also enables you to grant requested permissions to your account.

SteemConnect do similar thing for your Steem account. This is not only convenient, but also extremely useful, because 3rd party developers do not need to implement own storing passwords mechanism (what can be screwed up in so many ways...).

Steem Connect vs. Steem Connect v2

From now on I will call them SC1 and SC2. Let's explore the differences:

Endpoints

You need to know, that both versions are working.

You need to be aware of this fact, to make sure, that you will always refer to proper endpoints.

Different architecture

There is a big change in architecture. SC1 stores encrypted version of your private keys in a cookie, SC2 do not need to do that!

SC2 is using "multi-authority" feature to have a possibility of voting/posting/etc from your account without a password or a key. You just need to authorize a dedicated and app-specific account.

For example, if you will go to https://steemd.com/@noisy2, you will see:


Selection_082.png

As you can see, I authorized 2 accounts ( @steemprojectsapp, @busy.app) to use posting privileges of my @noisy2 account. Similar account needs to be created by a developer of new application.

How to setup dedicated app account on Steem Connect v2

Let's first....

Create an dedicated app account

  1. Login to https://v2.steemconnect.com/dashboard
  2. Go to Developers > My Apps
    Selection_087.png
  3. Click "New App"
    Selection_088.png
  4. Choose a name for an account. Right now unofficial convention is, that if your application is called: super-abc, then try to reserve a name super-abc.app
    Selection_091.png
  5. Your account will be created:
    Selection_102.png

Configuration

Of course it is important to fill in all inputs like App name, App Description, etc, but to have a possibility to test steemconnect, you need to make sure, that Redirect URI(s) input contain proper value.

In that case I want to have a possibility to use SC2 with my application running on:

  • localhost:8000 - to test everything before deployment
  • social-auth-steemconnect-demo.krzysztofszumny.pl - to use this on the production environment

Selection_125.png

Two additional addresses (127.0.0.1, 0.0.0.0) were added for convenience of debugging.

If you are using python-social-auth-steemconnect, then both addresses should end with /complete/steemconnect/, unless you configure it differently. In case of different/custom integration, you need to specify proper (probably different) endpoint.

SteemConnect v2 integration with your app

Your application can be written in any language and framework. There is demo application written in JavaScript, with Angular: https://sc2-angular.herokuapp.com/ but... if you want to write your service in python, then you can use prepared by my:

Introducing python-social-auth-steemconnect

This article was written for all developers, but I wanted to publish it before I will publish an announcement about developed by my Python Social Auth library. I believe, that all information in this article will be very helpful for every reader of the announcement.

Before going to next article, please make sure, that you upvoted/resteemed this post, if you think it deserve it. I am also encouraging you to follow me, because really soon I will publish my next project called: SteemProjects :)

Sort:  

Thanks for clearing that up! Just yesterday, I wondered what the difference between version 1 and 2 is..

Here is some explanation about the difference between v1 and v2: https://github.com/steemit/sc2/wiki/Specifications-%5BDRAFT%5D#overview

How about making SteemConnect into a WordPress plugin?

Is there any way I can use an already created account, as I don't exactly have an abundance of steem available...

Hi @noisy, I'm trying to figure out how to use steemconnect 2 and came across this post. I noticed that the link provided up there is no longer working, but here's something else, is it the same? I can't seem to make it work, though, if you could answer some of my questions on, say, Discord chat, that'd be real help.

I have tried to create an new app but receive an error.
create:1 [DOM] Found 2 elements with non-unique id #username: (More info: https://goo.gl/9p2vKq) <input type=​"text" value=​"steemhost.app" id=​"username" data-__meta=​"[object Object]​" class=​"ant-input ant-input-lg">​ <input type=​"text" placeholder=​"Username" autocorrect=​"off" autocapitalize=​"none" value=​"dwarrilow2002" id=​"username" data-__meta=​"[object Object]​" class=​"ant-input ant-input-lg">​

I also observe that the transaction price is NAN (I am sitting with 20 steem in my account.

I can connect to my project with SC2, login or logout but how can i share post with django, how can i use access key with django to share or upvote post ? someone can help me

Glad to see improvements and moving forward with this.

Excellent initiative, @noisy
Looking forward to SteemProjects.

Hey,

I’ve been using Steemconnect on Musing and dLike... however today upon trying to login, it doesn’t offer the option to click my usual account, but it starting from scratch asking for my username and key - which has never happened since I first input it months ago...

Wondering if this is anything to be concerned about, if there has been an app-wise reset, this is normal, etc...

you happen to know what the deal with this is?

trying to set up now getting stuck here

OK got this to add: my account enki74 has funds but error saying 0 funds? using active key?

Thank you for the info. I just registered my app and have been figuring out how to interact with it.

Which version do you prefer?

without any doubts, v2! :)

That's awesome! Thanks for the detailed explanation.

Great post , paython is very useful we need it in many things thank's to share this idea with us , I have followed you !

Noisy FTW! Nice post and tutorial, upvoted. What about integrating Steem Connect v2 with your project (Steem Projects)? :D
(sory, że po angielsku, ale już się przyzwyczaiłem ;)

it is already integrated, as you can see on gif in next post :) Actually my social-auth-steemconnect library was a side effect of working on SteemProjects :)

This is great, thanks! One question though: how did you authorise those apps? I can't see any way in the interface to do that. Is that not yet ready, or am I missing something?

this is done on "per request" basis. From users perspective this process looks like this:

Article describes things which needs to be done by developers, to configure an app.

Oh right, of course... I don't know why that didn't occur to me! Thanks again!
I'll have to learn some of the basics of OAuth2 now I think.

Great Post! Thanks for sharing to guys like me that are starting in app Dev.
Very well explained!

Thanks a lot for this help, quick question. If I already have another account created for my website, I can't use it as an app ? I must create an app through the app creation page ? Also, can I change the redirect URI's whenever I want ? I guess it's possible but I prefer to be sure.

Great post @noisy thank you for this clear tutorial it's very helpful!

wow this is huge. great to see these things happening. makes me working with a developer that little bit more rounded when i get to that stage. i've upvoted and resteemed this post.

thank you! :)

Thanks for sharing. The developer stuff is just above my head right now. But who knows there might be need for me to look into it in the future. Therefore, following, voted and resteemed. Have a nice day.

Thanks for sharing ,

Upvoted !

By the way ,I started following you and I would appreciate your follow back too .
please visit my blog and vote me too

Thank you for your description. I am going to develop a new app. But I am new to this platform. I would like to have more steem power to "buy" the new app account. Please support thank you.

This post has been just added as new item to timeline of python-social-auth-steemconnect on Steem Projects.

If you want to be notified about new updates from this project, register on Steem Projects and add python-social-auth-steemconnect to your favorite projects.

nice this project, thx for sharing bro. I like it

Imo For Pc Windows

Asus x453m Drivers Download

It seems that steemconnect v2 has dissapeared (v2.steemconnect.com redirects to steemconnect.com)

Has it all been rolled into one now? Or I mean, v1 dropped and v2 is now just steemconnect?

This is great to see. I was just poking around steemconnect yesterday and could not work out if steemconnect v2 was ready for use. Was seriously considering writing a python library for it, you beat me to it!

everything is open source, so in any case that you would find that something can be done in more robust way, please contribute! :)