-
-
Notifications
You must be signed in to change notification settings - Fork 975
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Adds (incomplete) Windows Live strategy to oa-more
- Loading branch information
Michael Bleigh
authored and
S. Brent Faulkner
committed
Feb 4, 2011
1 parent
dce4c8d
commit ba3594b
Showing
3 changed files
with
1,183 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Original file line | Diff line number | Diff line change |
---|---|---|---|
@@ -0,0 +1,39 @@ | |||
require 'omniauth/core' | |||
require 'omniauth/strategies/windows_live/windowslivelogin' | |||
|
|||
module OmniAuth | |||
module Strategies | |||
class WindowsLive | |||
include OmniAuth::Strategy | |||
|
|||
attr_accessor :app_id, :app_secret | |||
|
|||
# Initialize the strategy by providing | |||
# | |||
# @param app_id [String] The application ID from your registered app with Microsoft. | |||
# @param app_secret [String] The secret from your registered app with Microsoft. | |||
# @option options [String] :locale A localization string for the login, should be in the form `en-us` or similar. | |||
# @option options [String] :state Some state information that is serialized into the query string upon callback. | |||
# @option options [Boolean] :ssl Whether or not to use SSL for login. Defaults to `true`. | |||
# @option options [Boolean] :force_nonprovisioned When true, forces a non-provisioned (i.e. no app id or secret) mode. | |||
def initialize(app, app_id = nil, app_secret = nil, options = {}) | |||
self.app_id = app_id | |||
self.app_secret = app_secret | |||
super(app, :windows_live, app_id, app_secret, options) | |||
options[:ssl] ||= true | |||
options[:locale] ||= 'en-us' | |||
options[:force_nonprovisioned] = true unless app_id | |||
end | |||
|
|||
protected | |||
|
|||
def consumer | |||
WindowsLiveLogin.new app_id, app_secret, options[:security_algorithm], options[:force_nonprovisioned], options[:policy_url], callback_url | |||
end | |||
|
|||
def request_phase | |||
redirect consumer.getLoginUrl(options[:state], options[:locale]) | |||
end | |||
end | |||
end | |||
end |
Oops, something went wrong.