auto login encryption done…
This commit is contained in:
parent
c158375d02
commit
aacd9da9fb
1
Gemfile
1
Gemfile
|
@ -25,6 +25,7 @@ gem 'sinatra'
|
|||
gem 'sprockets'
|
||||
gem 'tinymce-rails'
|
||||
gem 'therubyracer' if RUBY_PLATFORM.downcase.include?("linux")
|
||||
gem 'mongoid-encryptor', :require => 'mongoid/encryptor'
|
||||
|
||||
# Gems used only for assets and not required
|
||||
# in production environments by default.
|
||||
|
|
|
@ -77,6 +77,7 @@ GEM
|
|||
orm_adapter (~> 0.0.3)
|
||||
warden (~> 1.1)
|
||||
diff-lcs (1.1.3)
|
||||
encrypted_strings (0.3.3)
|
||||
erubis (2.7.0)
|
||||
exception_notification (2.5.2)
|
||||
actionmailer (>= 3.0.4)
|
||||
|
@ -115,6 +116,10 @@ GEM
|
|||
activemodel (~> 3.1)
|
||||
mongo (~> 1.3)
|
||||
tzinfo (~> 0.3.22)
|
||||
mongoid-encryptor (0.0.5)
|
||||
activesupport (~> 3.0)
|
||||
encrypted_strings (~> 0.3.3)
|
||||
mongoid (~> 2)
|
||||
multi_json (1.1.0)
|
||||
nokogiri (1.5.2)
|
||||
nokogiri (1.5.2-x86-mingw32)
|
||||
|
@ -255,6 +260,7 @@ DEPENDENCIES
|
|||
mini_magick
|
||||
mongo_session_store-rails3
|
||||
mongoid
|
||||
mongoid-encryptor
|
||||
nokogiri
|
||||
radius
|
||||
rails (>= 3.1.0, < 3.2.0)
|
||||
|
|
|
@ -141,7 +141,7 @@ var orbitDesktop = function(dom){
|
|||
var bindHandlers = function(){ // this function will bind all the handlers in the desktop
|
||||
var groupWrapperWidth = 0;
|
||||
var groupWrapperHeight = 0;
|
||||
$('div#desktop div.group').width(528);
|
||||
$('div#desktop div.group').width(800);
|
||||
$("div#desktop .element").mousedown(function(){
|
||||
currentElement = $(this);
|
||||
elementParent = $(this).parent();
|
||||
|
|
|
@ -9,13 +9,19 @@ class OtheraccountsController< ApplicationController
|
|||
@email = params['email']
|
||||
@password = params['password']
|
||||
@account = params['account']
|
||||
OtherAccount.new(email: @email, encrypted_password: @password, type: @account)
|
||||
OtherAccount.create(user_id: current_user.id, email: @email, encrypted_password: @password, type: @account)
|
||||
a = Array.new
|
||||
a << {"success"=>"true"}
|
||||
render :json=>a.to_json
|
||||
end
|
||||
|
||||
def gmail
|
||||
@gmailaccount = OtherAccount.where(:type.all => ["gmail"],:user_id.all => [current_user.id])
|
||||
@decrypted_password = @gmailaccount.first.encrypted_password.decrypt
|
||||
@email = @gmailaccount.first.email
|
||||
url = URI.parse("https://mail.google.com/mail/feed/atom")
|
||||
req = Net::HTTP::Get.new(url.path)
|
||||
req.basic_auth params['username'], params['password']
|
||||
req.basic_auth @email, @decrypted_password
|
||||
req.content_type = 'text/xml'
|
||||
|
||||
http = Net::HTTP.new(url.host, url.port)
|
||||
|
|
|
@ -1,15 +1,15 @@
|
|||
class OtherAccount
|
||||
include Mongoid::Document
|
||||
include Mongoid::Timestamps
|
||||
include Mongoid::Encryptor
|
||||
|
||||
field :user_id
|
||||
field :type
|
||||
field :email
|
||||
field :encrypted_password
|
||||
|
||||
attr_encrypted :encrypted_password, :key => 'rulingorbit.com', :encode => true
|
||||
encrypts :encrypted_password, :mode => :symmetric, :password => 'rulingcom'
|
||||
|
||||
belongs_to :user
|
||||
|
||||
|
||||
|
||||
end
|
|
@ -17,7 +17,7 @@ class User
|
|||
|
||||
has_many :managing_apps,:class_name => "AppManager"
|
||||
has_one :desktop, :autosave => true, :dependent => :destroy
|
||||
has_many :otheraccount, :autosave => true, :dependent => :destroy
|
||||
has_many :other_accounts, :autosave => true, :dependent => :destroy
|
||||
belongs_to :role
|
||||
has_and_belongs_to_many :sub_roles
|
||||
accepts_nested_attributes_for :attribute_values, :allow_destroy => true
|
||||
|
|
|
@ -10,7 +10,8 @@
|
|||
<td valign="top"><label for="s_name1">Username</label><input type="text" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label for="s_name1">Password</label><input type="password" /></td>
|
||||
<td width="400"><label for="s_name1">Password</label><input type="password" /></td>
|
||||
<td><a href="" id="connection_save_btn" class="setting_btn thmc1 thmtxt w1 hh2 hp" onclick='return false;' style='float:left;'>Connect</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td rowspan="2"><img src="assets/facebook.png" alt=""></td>
|
||||
|
|
|
@ -1,20 +1,10 @@
|
|||
var gmail = function(){
|
||||
var usernm = $("#gmail input[type=text]").val();
|
||||
var pwd = $("#gmail input[type=password]").val();
|
||||
// usernm = "hr@rulingcom.com";
|
||||
// pwd = "hr08973"
|
||||
if(usernm!="" && pwd!=""){
|
||||
$("#gmail a#gmail_button").text("Check again");
|
||||
$("#gmail #loading").show();
|
||||
$("#gmail table#form").hide();
|
||||
$.ajax({
|
||||
url: "/desktop/forgmail",
|
||||
dataType : "xml",
|
||||
data : {username:usernm,password:pwd},
|
||||
success:function(data){
|
||||
if($(data).find("HEAD").find("TITLE").text()=="Unauthorized"){
|
||||
$("#gmail #forerror").text($(data).find("HEAD").find("TITLE").text()).show();
|
||||
$("#gmail table#form").show();
|
||||
}else{
|
||||
if($(data).find("fullcount").text()=="0"){
|
||||
$("#gmail #forerror").hide();
|
||||
|
@ -22,9 +12,9 @@ var gmail = function(){
|
|||
}else{
|
||||
var msg;
|
||||
if($(data).find("fullcount").text()=="1")
|
||||
msg = $(data).find("fullcount").text()+" unread message in your inbox."
|
||||
msg = $(data).find("fullcount").text()+" unread message in your inbox.";
|
||||
else
|
||||
msg = $(data).find("fullcount").text()+" unread messages in your inbox."
|
||||
msg = $(data).find("fullcount").text()+" unread messages in your inbox.";
|
||||
o.notify(msg,"alert",2);
|
||||
$(data).find("entry").each(function(i,val){
|
||||
if(i==0){
|
||||
|
@ -41,15 +31,14 @@ var gmail = function(){
|
|||
$("#gmail #content").show();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
var saveaccount = function(){
|
||||
var usernm = $("#gmail input[type=text]").val();
|
||||
var pwd = $("#gmail input[type=password]").val();
|
||||
usernm = "hr@rulingcom.com";
|
||||
usernm = "harry@rulingcom.com";
|
||||
pwd = "hr08973";
|
||||
if(usernm!="" && pwd!=""){
|
||||
$.post("/desktop/save_account_info",{email:usernm,password:pwd,account:"gmail"})
|
||||
$.post("/desktop/save_account_info",{email:usernm,password:pwd,account:"yahoo"})
|
||||
}
|
||||
}
|
|
@ -1,17 +1,6 @@
|
|||
<div id="gmail">
|
||||
<div id="forerror" style="color:red;display:none;"></div>
|
||||
<table id="form">
|
||||
<tr>
|
||||
<td><label class="thmtxt" style="width:75px;">Username:</label></td><td><input type="text" style="width:150px;" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><label class="thmtxt" style="width:75px;">Password:</label></td><td><input type="password" style="width:150px;" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" align='center'><a href="" onclick="gmail();return false;" class='thmtxt' id="gmail_button">Check for new mail</button></td>
|
||||
</tr>
|
||||
</table>
|
||||
<div id="loading" style="display:none" class="thmtxt">Retrieving new emails...</div>
|
||||
<div id="loading" class="thmtxt">Retrieving new emails...</div>
|
||||
<div id="content" style="display:none;"background-color:#000;height:200px;"" >
|
||||
<div id="subject" ></div>
|
||||
<div id="date" class='thmtxt'></div>
|
||||
|
@ -20,6 +9,6 @@
|
|||
</div>
|
||||
<script>
|
||||
$(document).ready(function(){
|
||||
|
||||
gmail();
|
||||
})
|
||||
</script>
|
Loading…
Reference in New Issue