2015-12-11 12 views
22

Ứng dụng của tôi đã hạn chế đăng nhập bằng Oauth2 đến miền cụ thể như abc.com bằng cách chỉ định abc.com trong tham số hd trong yêu cầu của tôi. Restrict Login Email with Google OAuth2.0 to Specific Domain Name nhưng kể từ vài ngày qua cho phép bất kỳ ai có thông tin đăng nhập tài khoản Google. Tôi chắc chắn tôi đã không thay đổi mã và thậm chí đã xác minh kết quả uri có tên miền của tôi được chỉ định trong tham số hd theo hướng dẫn liên kết này https://developers.google.com/identity/protocols/OpenIDConnect#hd-param. một cho tôi biết những gì tôi đang làm sai? đây là mã của tôiOauth2 hạn chế đối với email có tên miền đặc biệt bằng hd không hoạt động

 `redirect(uri : "https://accounts.google.com/o/oauth2/auth?" + 
      "redirect_uri=${redirectUri}&" + 
      "response_type=code&" + 
      "client_id="${my_client_id}"& + 
      "scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email" + 
      "+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile&" + 
      "approval_prompt=auto&" + 
      "hd=apposit.com")` 
+2

tôi đã có tình trạng tương tự, từ một vài tuần trở lại HD-tham số không còn hạn chế truy cập vào các lĩnh vực quy định. Không có sự thay đổi mã, nó chỉ không hạn chế truy cập vào tham số HD nữa ... bất cứ ai biết whats up? – sboss

Trả lời

9

Tôi không biết tại sao điều này xảy ra, nhưng bạn có thể thêm một cơ chế an ninh thứ hai bên cạnh hd bằng cách kiểm tra nếu email người dùng chứa abc.com sử dụng phương pháp java hay endsWith() là đáng tin cậy hơn trước khi u cho phép người dùng đi xa hơn trong ứng dụng của bạn.

Nhưng vẫn đây là một sửa chữa nhanh chóng và những người khác với một giải pháp nên trả lời câu hỏi này

+2

Nếu tôi là bạn tôi sẽ cẩn thận hơn, gây ra nó dễ dàng bỏ qua cơ chế này, bằng cách đơn giản là tạo tài khoản như **[email protected]** hoặc **[email protected]* *. –

+3

Tôi hoàn toàn đồng ý, nhưng như tôi đã nói ở trên của nó chỉ là một sửa chữa nhanh chóng và giải pháp thực sự nên tìm một cách để làm cho hd làm việc. – robel

+0

Hoặc bạn có thể sử dụng phương thức ** endsWith() **. – James

Các vấn đề liên quan