Есть много способов приблизиться к этому. Но есть некоторые правила, чтобы сделать эту настройку работоспособной. Во-первых, вам нужно убедиться, что оба Rails и PHP-приложения находятся в одном домене и могут читать файлы cookie друг друга. Вам нужно будет хранить и сеансить в файле cookie или предоставлять доступ к вашему приложению PHP и Rails в том же хранилище сеансов. В лучшем случае это сложно.
Моим решением было бы использовать существующие методы аутентификации. Либо реализовать OpenID, либо oauth-провайдера в вашем приложении PHP. Они доступны в Интернете. На стороне Rails вы должны реализовать пользователя OpenID или oauth. Не создавая собственное решение и используя проверенную концепцию, такую как OpenID или oauth, вы добавляете гораздо больше безопасности в свое приложение, чем с самодельным решением.
Кстати, нет ничего плохого в том, чтобы добавить собственные начинки в схемы OpenID или oauth. То есть Я создал приложение один раз с центральным сервером аутентификации с использованием OpenID. Но у нас были автоматические одобрения клиентских приложений, и мы смогли отправить основную информацию о пользователе клиентам (например, ID, адрес электронной почты, имя, адреса и т. Д.).
Опять же, я советую идти с OpenID или oauth. Я думаю, что последнее проще реализовать (и Twitter использует его).
Причина выбора OpenID или oauth также в том, что существуют библиотеки, доступные как для Ruby, так и для PHP, и вам не придется беспокоиться о PHP <-> Ruby разговаривает друг с другом непосредственно через магазины сеансов или что-то такое безумное. – Ariejan