Skip to content
This repository has been archived by the owner on Aug 21, 2023. It is now read-only.

Not encouraging users to type credentials into mybinder.org #231

Closed
betatim opened this issue Jul 22, 2018 · 7 comments
Closed

Not encouraging users to type credentials into mybinder.org #231

betatim opened this issue Jul 22, 2018 · 7 comments
Assignees

Comments

@betatim
Copy link

betatim commented Jul 22, 2018

Hi!

This looks like a nice set of notebooks about a cool topic! I am part of the team that maintains mybinder.org where we see quite a bit of activity for this tutorial.

We try very hard to educate our users that they should never ever type things that they wouldn't tweet to the world into a session on mybinder.org. While individual repositories and notebook creators aren't evil there will come the day when someone creates a notebook that steals credentials or uses some other exploit to do so. For the average user it will be hard to tell if this is an evil or a friendly notebook. That is why we try and get people to never put secrets into sessions.

One of your first notebooks asks for a Bluemix password/key :-/

Is it possible to change to using https://github.com/ProjectQ-Framework/ProjectQ or something like that instead? I think Project Q let's you simulate things on a classical CPU?? Maybe with a comment about how to switch to using bluemix if you are executing things locally.

Is this something that is possible? It would be greatly appreciated. I don't really know much about the whole quantum computing landscape beyond a course I took many years ago as a PhD student :)

@jaygambetta
Copy link
Member

jaygambetta commented Jul 22, 2018

Hi @betatim

Project q is just simulators and we have simulators as well that do not need a token to run them. The token is the only required to run on the real devices. So there is no need for project q.

This being said we need a token for run on the real device and we want the tutorials to explain how to run on a real device and give uses access to them. So we need think about what to do maybe we cant use mybinder to host the tutorials.

@diego-plan9 @ismaelfaro @ajavadia @atilag @ewinston and @nonhermitian lets think about options here.

@nonhermitian
Copy link
Contributor

We could host our own JupyterHub server, and have the users play with the tutorials there. We would then control the backside where the token is passed.

@diego-plan9
Copy link
Member

@betatim thanks for your input and recommendation (and on another note, kudos to you and your team on making mybinder.org available, it's very neat!). As jay mentioned, the token is needed for being able to execute circuits in the real devices, and it's pretty central to many tutorials (as the purpose of them is exactly that).

I fully understand your concerns about passing a sensitive value without an effective way for the user to ensure that the notebook belongs to a trustable source. However, would you have some recommendation on how to achieve that (other than resorting to hosting our own)? I suspect this is not the first time you have users that for one reason or another require the final user to input some credentials, and would love to explore the options and provisions you might have encountered. Thanks!

@betatim
Copy link
Author

betatim commented Sep 9, 2018

There is no good solution really :-(

Our official stance is "just don't do it" which is simultaneously good advice and impractical. One option others have used is to have extremely time limited tokens that are obtained from the notebook via an oauth dance. I can try and find back where I saw that.

@quantumjim
Copy link
Member

When using the tutorials for a one time event, could we just tell paticpants to regenerate their keys immediately afterwards (or do so ourselves on the backend)?

@jaygambetta
Copy link
Member

jaygambetta commented Oct 6, 2018

I think that the only solution is since we already use tokens then this is not user personal information we are good. But what we should have a warning in the readme if you are going to use the binder that we should advise regenerating your token after use.

Would this solution satisfy all concerns?

jaygambetta added a commit that referenced this issue Oct 7, 2018
ajavadia pushed a commit that referenced this issue Oct 7, 2018
* Fixes #231

* Removing the contributors

Making this link to the contributions
jaygambetta added a commit that referenced this issue Oct 7, 2018
* Fixes #231

* Making install clearer

* Updated the note about latex installation

* minor typo
jaygambetta added a commit that referenced this issue Oct 7, 2018
* Fixes #231

* Starting the ibmqprovider

* saving works as its late.

* saving progress

* Finished ibmqprovider

* Update the ibmq_provider notebook, some polishing

* fix broken json
jaygambetta added a commit that referenced this issue Oct 8, 2018
* Fixes #231

* Grammar fixes to index

Also fix some links that had QISKit vs Qiskit

* Index file fix

* Merge remote-tracking branch 'Qiskit/master' into index_file_fix

# Conflicts:
#	INSTALL.md
#	README.md

* fixing some links and typos
jaygambetta added a commit that referenced this issue Oct 8, 2018
* Fixes #231

* Finishing getting_started

Finishing getting started notebook.

* Small edits

* fixing grammar

* Update .gitignore

* Fixing latex

* some small fixes
@betatim
Copy link
Author

betatim commented Oct 8, 2018

Thanks for the work on this and the positive attitude to someone stopping by with a grumpy "you make it harder for us to educate our users" comment :)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants