trak3r-youtube_sso 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. data/README.txt +5 -0
  2. data/bin/youtube_sso +3 -0
  3. data/lib/youtube_sso.rb +31 -0
  4. metadata +63 -0
data/README.txt ADDED
@@ -0,0 +1,5 @@
1
+ A poor-man's single sign-on for YouTube.
2
+
3
+ Pass the username and password to YouTube's log-in form then parse the results to test for success.
4
+
5
+ TODO: Make this a gem.
data/bin/youtube_sso ADDED
@@ -0,0 +1,3 @@
1
+ #!/opt/local/bin/ruby
2
+ require 'youtube_sso'
3
+ pp YouTubeSSO.valid?(ARGV[0], ARGV[1])
@@ -0,0 +1,31 @@
1
+ require 'net/http'
2
+ require 'uri'
3
+ require 'rubygems'
4
+ require 'hpricot'
5
+
6
+ class YouTubeSSO
7
+ class << self
8
+ def valid?(username, password)
9
+ target = 'sso'
10
+ response = Net::HTTP.post_form(URI.parse('http://www.youtube.com/login'),
11
+ {
12
+ 'username' => username,
13
+ 'password' => password,
14
+ 'current_form' => 'loginForm',
15
+ 'next' => "/#{target}",
16
+ 'action_login' => 'Log+In'
17
+ })
18
+ page = Hpricot(response.body)
19
+ denial = page.search("div[@class='errorBox']")
20
+ if denial.empty?
21
+ if "http://www.youtube.com/#{target}" == response['location']
22
+ return true
23
+ else
24
+ return response # for debugging
25
+ end
26
+ else
27
+ return false
28
+ end
29
+ end
30
+ end
31
+ end
metadata ADDED
@@ -0,0 +1,63 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: trak3r-youtube_sso
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Thomas 'Teflon Ted' Davis
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2000-01-13 00:00:00 -08:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: hpricot
17
+ version_requirement:
18
+ version_requirements: !ruby/object:Gem::Requirement
19
+ requirements:
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 0.6.164
23
+ version:
24
+ description: Poor-man's single sign-on for YouTube
25
+ email: youtube_sso@rudiment.net
26
+ executables: []
27
+
28
+ extensions: []
29
+
30
+ extra_rdoc_files: []
31
+
32
+ files:
33
+ - README.txt
34
+ - lib/youtube_sso.rb
35
+ - bin/youtube_sso
36
+ has_rdoc: false
37
+ homepage: http://github.com/trak3r/youtube_sso
38
+ post_install_message:
39
+ rdoc_options: []
40
+
41
+ require_paths:
42
+ - lib
43
+ required_ruby_version: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: "0"
48
+ version:
49
+ required_rubygems_version: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: "0"
54
+ version:
55
+ requirements: []
56
+
57
+ rubyforge_project:
58
+ rubygems_version: 1.2.0
59
+ signing_key:
60
+ specification_version: 2
61
+ summary: Poor-man's single sign-on for YouTube
62
+ test_files: []
63
+