Успешно настроих SAML удостоверяване с помощта на omniauth-saml в моето приложение Rails 4.2.0. Тъй като това е приложение с множество клиенти и всеки клиент може да дефинира свой собствен IdP, беше трудно, но успях.
Когато IdP е удостоверил потребителя, IdP го изпраща обратно към моето приложение на /auth/saml/callback
, стандартното място за omniauth. Докато съм съгласен с изпращането на потребителя до определена страница в моето приложение (да речем, таблото за управление), всичко това работи добре.
Но какво ще стане, ако потребителят се опитва да получи достъп до конкретна страница и бъде изпратен на страницата за вход? Ако потребителят влезе нормално (имейл/парола), приложението rails запомня URL адреса за връщане и изпраща потребителя обратно там, където се е опитал да отиде на първо място.
С omniauth-saml не съм сигурен как да направя това. Първият ми инстинкт е да изпратя параметър return_url
на IdP, така че IdP да може да го изпрати обратно при удостоверяване. Има ли начин да направя това?