Как сохранить секрет ключа разработчика в скрипте Python, который размещен на GitHub

Я разрабатываю открытый исходный клиент Twitter на базе Python, а для доступа к Twitter API и входа в систему с помощью OAuth я зарегистрировал своего клиента в Twitter, и они предоставили мне уникальный ключ потребителя и токен потребителя (далее именуемые "ключ разработчика "). Они уникальны для моего клиента, и все копии моего клиента должны использовать один и тот же ключ разработчика. Теперь мне нужно использовать ключ разработчика в скрипте Python (main.py), а поскольку это скрипт, двоичного файла нет. Кроме того, мне нужно загрузить свой код на GitHub, поскольку я использую git на GitHub для отслеживания контента. Как сохранить в секрете ключ разработчика? Имейте в виду, что я планирую распространить тот же клиент среди пользователей.

Связка ключей кажется лучшим вариантом, но мне нужен способ, при котором только приложение может получить доступ к связке ключей, а не даже его пользователи (вне приложения). И никто не сможет понять, как получить доступ к связке ключей, посмотрев на мой код.

Примечание: «Чтобы использовать Twitter API, первое, что вам нужно сделать, это зарегистрировать клиентское приложение. Каждое клиентское приложение, которое вы регистрируете, будет будет предоставлен ключ и секрет потребителя. Эта схема ключей и секретов аналогична открытым и закрытым ключам, используемым в таких протоколах, как ssh, для тех, кто знаком. Этот ключ и секрет будут использоваться вместе с библиотекой OAuth в вашем программировании. выбранный язык, чтобы подписывать каждый запрос, который вы делаете к API. но я не уверен, подходит ли он для перехода на более раннюю версию.

Я получаю следующее в терминале, когда использую команду rvm list known

mgj@pc146724-desktop:~$ rvm list known
# MRI Rubies
[ruby-]1.8.6[-p399]
[ruby-]1.8.6-head
[ruby-]1.8.7[-p302]
[ruby-]1.8.7-head
[ruby-]1.9.1-p243
[ruby-]1.9.1[-p376]
[ruby-]1.9.1-p429
[ruby-]1.9.1-head
[ruby-]1.9.2-preview1
[ruby-]1.9.2-preview3
[ruby-]1.9.2-rc1
[ruby-]1.9.2-rc2
[ruby-]1.9.2[-p0]
[ruby-]1.9.2-head
ruby-head

# JRuby
jruby-1.2.0
jruby-1.3.1
jruby-1.4.0
jruby-1.5.1
jruby-1.5.2
/home/mohnish/.rvm/config/known 

Я получаю следующее в списке установленных пакетов ruby ​​при использовании команды dpkg -l | grep ruby ​​

mgj@pc146724-desktop:~$ dpkg -l | grep ruby
ii  libdbm-ruby                                4.2                                             DBM interface for Ruby
ii  libdbm-ruby1.8                             1.8.7.249-2                                     DBM interface for Ruby 1.8
ii  libgdbm-ruby                               4.2                                             GDBM interface for Ruby
ii  libgdbm-ruby1.8                            1.8.7.249-2                                     GDBM interface for Ruby 1.8
ii  libopenssl-ruby                            4.2                                             OpenSSL interface for Ruby
ii  libopenssl-ruby1.8                         1.8.7.249-2                                     OpenSSL interface for Ruby 1.8
ii  libreadline-ruby                           4.2                                             Readline interface for Ruby
ii  libreadline-ruby1.8                        1.8.7.249-2                                     Readline interface for Ruby 1.8
ii  libruby1.8                                 1.8.7.249-2                                     Libraries necessary to run Ruby 1.8
ii  libtcltk-ruby                              4.2                                             Tcl/Tk interface for Ruby
ii  libtcltk-ruby1.8                           1.8.7.249-2                                     Tcl/Tk interface for Ruby 1.8
ii  rdoc                                       4.2                                             Generate documentation from ruby source file
ii  ruby                                       4.2                                             An interpreter of object-oriented scripting 
ii  ruby-elisp                                 4.2                                             Emacs-lisp ruby-mode for Ruby
ii  ruby-full                                  4.2                                             Ruby full installation
ii  ruby1.8                                    1.8.7.249-2                                     Interpreter of object-oriented scripting lan
ii  ruby1.8-dev                                1.8.7.249-2                                     Header files for compiling extension modules
ii  ruby1.8-elisp                              1.8.7.249-2                                     ruby-mode for Emacsen
mgj@pc146724-desktop:~$ ^C

Нужно ли мне удалить Ruby 1.9.2 и только потом заново установить Ruby 1.8.7, или я могу переключать версии ?. Если я могу переключать версии, сообщите мне, как установить путь с Ruby 1.9.2 на Ruby 1.8.7. Или, если есть другой способ, дайте мне знать.

Если мне нужно удалить Ruby 1.9.2, а затем заново установить Ruby 1.8.7, пожалуйста, дайте мне знать, как я могу это сделать. Я попробовал следующие команды для удаления Ruby 1.9.2, но, похоже, пакет Ruby 1.9.2 не нашел.

sudo aptitude remove ruby

sudo aptitude remove ruby 1.9.2p0

sudo purge ruby

sudo aptitude purge ruby 1.9.2p0

Когда я проверил установленную текущую версию Ruby, он показывает:

mgj@pc146724-desktop:~/Downloads/rubygems_postextract/rubygems-1.4.1$ ruby -v
ruby 1.9.2p0 (2010-08-18 revision 29036) [i686-linux]

mgj@pc146724-desktop:~/Downloads/rubygems_postextract/rubygems-1.4.1$ which ruby
/home/mgj/.rvm/rubies/ruby-1.9.2-p0/bin/ruby

Спасибо за вашу помощь. . !!

14
задан boddhisattva 5 January 2011 в 05:09
поделиться