canvas-lms/app/controllers
Ethan Vizitei ff056664b2 namespace pseudonyms by authentication provider
closes CNVS-19452

 * add the column and foreign key, uniquely index it,
   and replace the old unique index to make sure it's null
 * change lookup of pseudonyms on log in. CAS/SAML/LDAP
   look for matching or non-namespaced pseudonyms. OAuth
   looks only for matching.
 * update API for creating/exposing the provider info
 * update canvas_authentication modulation so it's only forced to true
   when deleting the LAST aac

test plan:
 * create a pseudonym for a specific provider (via the API)
 * ensure that even it matches for another provider, it's
   not found when you try to log in
 * check a CAS login will find a pseudonym with no provider,
   or the correct one
 * check that a OAuth login won't find a pseudonym not
   associated with any provider
 * finally, check that a OAuth login _will_ work with a
   matching pseudonym

Change-Id: I5d9ef8a992c6e0f6e1d8e13e4fb87d25304d982e
Reviewed-on: https://gerrit.instructure.com/55117
Reviewed-by: Cody Cutrer <cody@instructure.com>
Tested-by: Jenkins
QA-Review: August Thornton <august@instructure.com>
Product-Review: Ethan Vizitei <evizitei@instructure.com>
2015-06-05 15:45:55 +00:00
..
bookmarks bookmark api: handle string position, fixes CNVS-20628 2015-05-26 22:37:18 +00:00
data_exports_api data export api 2014-03-07 22:31:43 +00:00
filters QLA - use the submission's question set 2014-12-18 23:39:54 +00:00
live_assessments no more dynamic finders (controllers) 2014-09-17 02:42:30 +00:00
login namespace pseudonyms by authentication provider 2015-06-05 15:45:55 +00:00
lti fix frozen constants for LTI 2 registration 2015-05-20 19:08:01 +00:00
polling update API doc required params - 9 2014-08-26 16:14:19 +00:00
quizzes dont set quiz submission finish times to future 2015-06-04 19:03:47 +00:00
account_authorization_configs_controller.rb account authorization configs cleanups 2015-06-05 15:45:47 +00:00
account_notifications_controller.rb fix account notification course roles 2014-12-17 20:10:03 +00:00
account_reports_controller.rb Removed unnecessary parameter from report status doc 2015-03-24 15:00:48 +00:00
accounts_controller.rb tweak query to use index 2015-04-29 17:49:54 +00:00
admins_controller.rb fix admin controller index api find 2014-11-10 23:36:58 +00:00
alerts_controller.rb new roles 2014-10-31 19:44:14 +00:00
announcements_controller.rb send asset accesses as live events 2015-05-05 12:52:50 +00:00
app_center_controller.rb Rebuilt App Center in React 2015-01-05 21:34:02 +00:00
application_controller.rb account authorization configs cleanups 2015-06-05 15:45:47 +00:00
appointment_groups_controller.rb don't use preload_associations 2014-09-30 18:04:00 +00:00
assessment_questions_controller.rb remove move_question 2014-03-07 17:47:12 +00:00
assignment_groups_api_controller.rb fix move_assignments_to documentation, fixes CNVS-20773 2015-06-01 17:07:01 +00:00
assignment_groups_controller.rb add active scope to grading period calls 2015-05-11 20:26:00 +00:00
assignment_overrides_controller.rb update API doc required params - 2 2014-08-18 16:40:31 +00:00
assignments_api_controller.rb generate and send submissions zip URL via API 2015-05-01 20:56:54 +00:00
assignments_controller.rb endpoint for identifying assignments for bulk grade export 2015-05-27 15:33:37 +00:00
auditor_api_controller.rb enable Audit log search 2014-08-16 01:53:39 +00:00
authentication_audit_api_controller.rb update API doc required params - 2 2014-08-18 16:40:31 +00:00
calendar_events_api_controller.rb send asset accesses as live events 2015-05-05 12:52:50 +00:00
calendar_events_controller.rb don't create a calendar event with the "new" endpoint 2015-04-09 20:25:22 +00:00
calendars_controller.rb Remove dead calendar editing code 2015-03-18 17:03:03 +00:00
canvadoc_sessions_controller.rb handle crocodoc/canvadocs timeouts when creating sessions 2014-10-30 23:05:44 +00:00
collaborations_controller.rb No longer show collaborations a user doesnt have access to see 2015-06-02 15:53:58 +00:00
comm_messages_api_controller.rb delete facebook integration 2015-03-30 20:21:58 +00:00
communication_channels_controller.rb doc: tinychat is no longer a valid communication channel path type 2015-05-27 18:12:27 +00:00
conferences_controller.rb Canvas API to mark a web conference as having a prepared recording 2015-05-11 19:33:41 +00:00
content_exports_api_controller.rb Update parameters in the following API docs - 3 2014-08-26 16:42:33 +00:00
content_exports_controller.rb clean up render :action/:template calls 2015-04-01 20:27:50 +00:00
content_imports_controller.rb fix Style/EmptyLineBetweenDefs issue 2015-04-29 16:28:39 +00:00
content_migrations_controller.rb remove beta flag from content migrations API 2015-02-13 20:57:53 +00:00
context_controller.rb send asset accesses as live events 2015-05-05 12:52:50 +00:00
context_module_items_api_controller.rb Add 'mark done' module progression constraint 2015-05-08 09:17:10 +00:00
context_modules_api_controller.rb don't lock students out of modules unless requested 2015-02-20 17:20:20 +00:00
context_modules_controller.rb send asset accesses as live events 2015-05-05 12:52:50 +00:00
conversations_controller.rb prevent large group conversation creation 2015-04-29 16:11:32 +00:00
course_audit_api_controller.rb Update parameters in the following API docs 2014-08-18 16:43:37 +00:00
courses_controller.rb destroy test student submissions in right order 2015-06-02 20:09:18 +00:00
crocodoc_sessions_controller.rb handle crocodoc/canvadocs timeouts when creating sessions 2014-10-30 23:05:44 +00:00
custom_data_controller.rb update API doc required params - 12 2014-08-25 16:50:04 +00:00
custom_gradebook_column_data_api_controller.rb Update parameters in the following API docs 2014-08-18 16:43:37 +00:00
custom_gradebook_columns_api_controller.rb Update parameters in the following API docs 2014-08-18 16:43:37 +00:00
developer_keys_controller.rb to_json unnecessary (and wrongish) in render :json 2013-10-02 18:05:22 +00:00
discussion_entries_controller.rb don't autorequire a bunch of gems that are rarely used 2015-04-09 18:47:50 +00:00
discussion_topics_api_controller.rb discussion entry liking 2015-04-25 03:10:48 +00:00
discussion_topics_controller.rb endpoint for identifying assignments for bulk grade export 2015-05-27 15:33:37 +00:00
enrollments_api_controller.rb enrollments api: get grades for grading period 2015-03-31 21:40:42 +00:00
eportfolio_categories_controller.rb fix Style/EmptyLineBetweenDefs issue 2015-04-29 16:28:39 +00:00
eportfolio_entries_controller.rb use legacy verifiers for eportfolios 2015-05-04 16:16:44 +00:00
eportfolios_controller.rb don't autorequire a bunch of gems that are rarely used 2015-04-09 18:47:50 +00:00
equation_images_controller.rb make the codecogs equation base url a setting 2014-02-18 00:14:59 +00:00
errors_controller.rb make error reports creation API friendly 2015-05-18 22:10:35 +00:00
external_content_controller.rb add content-item to module items 2015-05-11 16:48:30 +00:00
external_feeds_controller.rb remove unused external feeds columns 2015-01-07 23:36:18 +00:00
external_tools_controller.rb fix spelling error in external tool controller 2015-06-01 17:33:00 +00:00
favorites_controller.rb update API doc required params - 5 2014-08-18 16:41:06 +00:00
feature_flags_controller.rb make feature flag update deal with constraint race condition 2015-05-20 02:36:22 +00:00
file_previews_controller.rb html previews in new files 2015-05-07 18:42:33 +00:00
files_controller.rb add api endpoint for modified_by in files 2015-06-03 17:12:38 +00:00
folders_controller.rb Allows copying files between contexts 2015-04-27 16:46:13 +00:00
grade_change_audit_api_controller.rb update API doc required params - 6 2014-08-18 16:43:17 +00:00
gradebook_csvs_controller.rb pass include_sis_id param to gb csv generation 2015-05-12 16:38:34 +00:00
gradebook_history_api_controller.rb don't use preload_associations 2014-09-30 18:04:00 +00:00
gradebook_uploads_controller.rb gradebook csv upload: make parsing step async 2015-04-03 06:52:25 +00:00
gradebooks_controller.rb screenreader gradebook works with async csv export 2015-06-03 22:14:55 +00:00
grading_periods_controller.rb add workflow state to grading period groups and grading period grades 2015-04-01 00:07:44 +00:00
grading_standards_api_controller.rb update API doc required params - 6 2014-08-18 16:43:17 +00:00
grading_standards_controller.rb make grading periods feature flag a course level flag 2015-04-16 15:19:49 +00:00
group_categories_controller.rb freeze constants in controllers 2015-04-27 20:04:40 +00:00
group_memberships_controller.rb Add group memberships show API endpoint 2015-05-07 00:12:29 +00:00
groups_controller.rb freeze constants in controllers 2015-04-27 20:04:40 +00:00
info_controller.rb make error reports creation API friendly 2015-05-18 22:10:35 +00:00
jobs_controller.rb to_json unnecessary (and wrongish) in render :json 2013-10-02 18:05:22 +00:00
legal_information_controller.rb [SOC-2] use terms_of_use_url and privacy_policy_url helpers 2015-01-23 22:30:27 +00:00
login_controller.rb GitHub authentication 2015-05-19 20:30:15 +00:00
lti_api_controller.rb don't autorequire a bunch of gems that are rarely used 2015-04-09 18:47:50 +00:00
media_objects_controller.rb don't show media preview thumbnails to students for locked files 2015-03-26 16:33:53 +00:00
media_tracks_controller.rb freeze constants in controllers 2015-04-27 20:04:40 +00:00
messages_controller.rb don't autorequire a bunch of gems that are rarely used 2015-04-09 18:47:50 +00:00
migration_issues_controller.rb Update parameters in the following API docs 2014-08-18 16:43:37 +00:00
notification_preferences_controller.rb update API doc required params - 8 2014-08-25 16:49:44 +00:00
oauth2_provider_controller.rb Clear other access tokens under the same key when requested 2015-04-23 18:40:26 +00:00
oauth_proxy_controller.rb don't autorequire a bunch of gems that are rarely used 2015-04-09 18:47:50 +00:00
outcome_groups_api_controller.rb OutcomeLink API objects: Add 'assessed' trait 2015-05-29 23:07:49 +00:00
outcome_groups_controller.rb Outcomes API - switch default calculation_method to be 'highest' 2015-01-07 18:13:38 +00:00
outcome_results_controller.rb use submitted at or assessed at for line graph x axis. 2015-03-25 16:19:20 +00:00
outcomes_api_controller.rb Outcomes API - Add assessed trait to outcome object 2015-03-02 16:59:38 +00:00
outcomes_controller.rb send asset accesses as live events 2015-05-05 12:52:50 +00:00
page_comments_controller.rb to_json unnecessary (and wrongish) in render :json 2013-10-02 18:05:22 +00:00
page_views_controller.rb update API doc required params - 12 2014-08-25 16:50:04 +00:00
plugins_controller.rb Plugins UI needs 'dynamic_form' 2015-04-15 14:44:49 +00:00
profile_controller.rb clean up render :action/:template calls 2015-04-01 20:27:50 +00:00
progress_controller.rb converting @object notation to @model part 9/11 2014-02-12 16:21:37 +00:00
pseudonym_sessions_controller.rb refactor PseudonymSessionsController 2015-05-15 14:44:38 +00:00
pseudonyms_controller.rb namespace pseudonyms by authentication provider 2015-06-05 15:45:55 +00:00
question_banks_controller.rb clean up permission calls for grants_rights? 2014-06-19 18:10:30 +00:00
role_overrides_controller.rb allow viewing inherited roles through roles API index 2015-03-20 14:24:42 +00:00
rubric_assessments_controller.rb no more dynamic finders (controllers) 2014-09-17 02:42:30 +00:00
rubric_associations_controller.rb no more dynamic finders (controllers) 2014-09-17 02:42:30 +00:00
rubrics_controller.rb no more dynamic finders (controllers) 2014-09-17 02:42:30 +00:00
search_controller.rb course catalog 2014-11-07 17:15:10 +00:00
sections_controller.rb add enable_sis_reactivation option to api creation endpoints 2015-05-27 16:18:36 +00:00
self_enrollments_controller.rb account authorization configs cleanups 2015-06-05 15:45:47 +00:00
services_api_controller.rb canvas kaltura gem 2014-04-16 19:39:45 +00:00
sis_api_controller.rb don't include deleted courses or assignments in sis grade endpoint 2015-05-28 12:54:42 +00:00
sis_imports_api_controller.rb SIS CSV diffing 2015-02-26 15:53:01 +00:00
sub_accounts_controller.rb fix /accounts/X/sub_accounts with more than 100 subaccounts 2014-10-06 18:05:01 +00:00
submission_comments_api_controller.rb set Attachment#user_id when uploading files via the API 2014-04-24 20:58:47 +00:00
submission_comments_controller.rb to_json unnecessary (and wrongish) in render :json 2013-10-02 18:05:22 +00:00
submissions_api_controller.rb excused assignments backend 2015-05-18 20:36:51 +00:00
submissions_controller.rb hide author info from anonymous submission comments 2015-05-14 19:23:36 +00:00
tabs_controller.rb update API doc required params - 11 2014-08-25 16:49:57 +00:00
terms_api_controller.rb api: allow admins to create/edit/delete enrollment terms 2015-01-02 17:28:24 +00:00
terms_controller.rb don't allow terms with active courses to be deleted 2015-02-02 13:36:02 +00:00
tokens_controller.rb to_json unnecessary (and wrongish) in render :json 2013-10-02 18:05:22 +00:00
tours_controller.rb added tour guide libs 2013-05-22 19:30:13 +00:00
usage_rights_controller.rb copy-folder and copy-file endpoints 2015-02-09 22:13:55 +00:00
user_lists_controller.rb Capture a users initial_enrollment_type when invited to a course. Fixes #10893 2012-10-04 14:26:15 -06:00
user_notes_controller.rb disambiguate last_user_note usage 2014-11-26 20:13:04 +00:00
user_observees_controller.rb update API doc required params - 12 2014-08-25 16:50:04 +00:00
users_controller.rb makes section tabs accessible outside of render logic 2015-06-02 14:43:49 +00:00
wiki_pages_api_controller.rb default has_no_front_page to true for new wikis 2015-04-15 20:00:19 +00:00
wiki_pages_controller.rb Merge branch 'matematikk-mooc-mark_done_one_commit_3' from matematikk-mooc/canvas-lms 2015-05-19 16:21:48 -06:00
zip_file_imports_controller.rb to_json unnecessary (and wrongish) in render :json 2013-10-02 18:05:22 +00:00