Аутентификация OpenID и доступ API

Измените

public void specificPaint(int coordinateX, int coordinateY, Color color)

на

public void specificPaint(int coordinateX, int coordinateY, Color color, Graphics g)

Затем вызовите specificPaint внутри вашего метода paintComponent с объектом Graphics, который вы рисуете с помощью

См. ответ Hovercraft для более подробной информации о том, почему использование this.getGraphics() не работает

16
задан Alex Wayne 13 February 2009 в 01:36
поделиться

4 ответа

Проблема, которую Вы видите, не уникальна для OpenID. Любая схема аутентификации пароля меньше может иметь эту проблему. OAuth ( http://oauth.net/ ) является решением, которое является открытым стандартом, который быстро наращивает обороты на большом количестве веб-сайтов. Это полностью независимо от того, как пользователь проходит проверку подлинности, таким образом, их Поставщик OpenID делает не потребность поддерживать или даже знать, что Ваш сайт ("поставщик услуг" в терминах OAuth) использует OAuth. Ваш клиент API может быть веб-или даже локальное приложение!

процесс был бы чем-то вроде этого:

Роли:

  • пользователь: кто-то, у кого есть учетная запись с Вашим веб-сайтом.
  • поставщик услуг: Ваш веб-сайт, который имеет программный API, который требует некоторых учетных данных к доступу.
  • потребитель: клиент, или веб-приложение или локальное приложение, для которого нужен доступ к API поставщика услуг.

Поток:

  1. пользователь в потребителе. Он указывает, что хочет получить доступ к данным в поставщике услуг.
  2. пользователь или перенаправляется (если потребитель является веб-сайтом), или браузер открыт (если потребитель является локальным приложением), и пользователь видит веб-сайт поставщика услуг.
  3. в пользователя или уже входят Поставщик услуг через персистентный cookie, или пользователь должен сначала войти в Поставщика услуг однако, который сделан (OpenID в Вашем случае).
  4. Поставщик услуг затем спрашивает пользователя: "Потребитель (некоторый потребитель) хочет получить доступ к Вашим данным (или наш API, или безотносительно). Вы хотите авторизовать это? (да/нет)
  5. Пользователь подтверждает, и завершения окна браузера или перенаправляется назад на Потребительский сайт.
  6. Через некоторое волшебство протокола OAuth, у потребителя теперь есть секретные учетные данные, которые оно может использовать для доступа к API и доступу безотносительно частной на пользователя информации, которую Вы просто авторизовали.

, Очевидно, я не могу включать целую спецификацию OAuth здесь, но Вы видите, надо надеяться, от вышеупомянутого, что это должно решить Вашу проблему. Библиотеки OAuth существуют для создания добавляющей поддержки его легкой.

, Если Вы, оказывается, используете ASP.NET, я предлагаю http://dotnetopenid.googlecode.com/ , поскольку это недавно добавило поддержку OAuth (v3.0 бета 1).

16
ответ дан 30 November 2019 в 21:55
поделиться

То, что Вы хотите, не возможно с OpenID. OpenID основан на предпосылке, что Вы (приложение для iPhone) только хотите знать о своих пользователях, что их OpenID-поставщик доверяет им. Они никогда не аутентифицируют себя в Вас.

Хорошие OpenID-поставщики на самом деле даже предотвращают , что Вы добиваетесь процесса аутентификации (поскольку это подвергло бы пользователей возможному нападению - Вами!): они требуют, чтобы пользователи вошли в систему с ними непосредственно и отказались от входа в систему направлением.

2
ответ дан 30 November 2019 в 21:55
поделиться

См.: этот связанный вопрос

проблема состоит в том, что открытая спецификация не имеет никакого стандартного условия для аутентификации с поставщиком, таким образом, поставщик может выбрать ту аутентификацию, происходит через телефонный вызов или что бы то ни было.

, Надо надеяться, больше поставщиков OAuth объятия. Кроме того, Вы могли вручить коду аутентификацию для нескольких больших сайтов.

1
ответ дан 30 November 2019 в 21:55
поделиться

Ни OpenID, ни OAuth не определяют способ аутентификации пользователя. Они определяют, как потребитель направляет пользовательский агент к провайдеру аутентификации, как пользовательский агент направляется обратно, и как потребитель может проверить идентичность, под которой аутентифицировался пользователь.

Фактический метод, используемый для аутентификации, не является допустимым для обе схемы.

Между OpenID и OAuth есть различия, но оба требуют, чтобы потребитель использовал перенаправления HTTP и URL-адреса обратного вызова. Оба они основаны на браузере. Если ваше приложение поддерживает HTTP, оно может и то, и другое. Однако главное заключается в том, что пользователь вводит учетные данные только в доверенное приложение.

но оба требуют, чтобы потребитель использовал перенаправления HTTP и URL-адреса обратного вызова. Оба они основаны на браузере. Если ваше приложение поддерживает HTTP, оно может и то, и другое. Однако главное заключается в том, что пользователь вводит учетные данные только в доверенное приложение.

но оба требуют, чтобы потребитель использовал перенаправления HTTP и URL-адреса обратного вызова. Оба они основаны на браузере. Если ваше приложение поддерживает HTTP, оно может и то, и другое. Однако главное заключается в том, что пользователь вводит учетные данные только в доверенное приложение.

4
ответ дан 30 November 2019 в 21:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: