Я настраиваю провайдера OpenID, используя DotNetOpenAuth, и я застрял.Как использовать OpenID, не запрашивая у пользователя его URL OpenID?
Похоже, что OpenID требует, чтобы пользователь сначала предоставил свой URL OpenID, а затем потребитель перенаправил его на провайдера, указав URL как параметр (checkid_setup mode).
Но с Google и некоторыми другими провайдерами он работает по-разному. Вы просто перенаправлены на общую страницу, на которой вы должны войти или выбрать один из аккаунтов, с которыми вы уже вошли. Или просто перенаправлен обратно, если вы вошли в систему с одной учетной записью.
Это как-то связано с режимом checkid_immediate? Если да, пожалуйста, дайте мне ссылку на статью, объясняющую, как это работает.
Я настраиваю провайдера OpenID, а не потребителя. Но, в любом случае, я думаю, теперь я понимаю, как это работает. –
Ох, кричит. Извините, что не заметил этого. Поэтому, если вы хотите, чтобы ваш собственный провайдер разрешил RP-системам делать то, что я описывал выше, вам нужно указать URL-адрес идентификатора OP, который, я считаю, демонстрирует образцы DNOA. Затем в пределах вашей конечной точки OP вы должны поддерживать 'IAuthenticationRequest.IsDirectedIdentity', определяя вошедший в систему идентификатор пользователя и устанавливая его в ответе auth самостоятельно. –