3

Linked In Grails と接続する方法 ??

Config.groovy

oauth {
    linkedin {
        requestTokenUrl="https://api.linkedin.com/uas/oauth/requestToken"
        accessTokenUrl="https://api.linkedin.com/uas/oauth/accessToken"
        authUrl="https://api.linkedin.com/uas/oauth/authorize"
        consumer.key="xxx"
        consumer.secret="xxx"
    }
}

プラグイン:

compile ":oauth:2.1.0"

そしてGSP:

  <oauth:connect provider="linkedin">Connect</oauth:connect>

しかし、私はこのコードを実行しようとしています..ブラウザでこのエラーを表示しています

org.codehaus.groovy.grails.web.taglib.exceptions.GrailsTagException

Tag [oauthLink] does not exist. No tag library found for namespace: g

4

1 に答える 1

2

oauth taglibを使用して、g タグではなく、linkedin に接続するボタンを作成します

<oauth:connect provider="linkedin">Connect</oauth:connect>

編集................................................. ...................................................

以下は私のConfig.groovyです

oauth {
  providers {
    linkedin {
        api = org.scribe.builder.api.LinkedInApi
        key = 'xxx'
        secret = 'yyy'

        callback = "http://localhost:8080/test2/oauth/linkedin/callback"
        successUri = "http://localhost:8080/test2/oauthCallBack/linkedin"

        failureUri = "http://localhost:8080/test2/oauthCallBack/linkedinFailure"

        requestTokenUrl = "https://api.linkedin.com/uas/oauth/requestToken"
        accessTokenUrl = "https://api.linkedin.com/uas/oauth/accessToken"
        authUrl = "https://api.linkedin.com/uas/oauth/authorize"
    }
  }
}

grails.linkedin.api.url = "http://api.linkedin.com/v1/people/~:(id,first-name,last-name,email-address,date-of-birth)?format=json"

アクションがリンクされた OauthCallBackController があります

def linkedin() {
    Token linkedinAccessToken = (Token) session[oauthService.findSessionKeyForAccessToken('linkedin')]
    def linkedInResponse = oauthService.getLinkedInResource(linkedinAccessToken, grailsApplication.config.grails.linkedin.api.url)
    def linkedinParsedResponse = JSON.parse(linkedInResponse?.getBody())

    User user = User.findByLinkedInId(linkedinParsedResponse['id'])
    if (user) {
        springSecurityService.reauthenticate(user.username)
    } else {
        ...
    }
}

def linkedinFailure() {
    render "I am back..,."
}
于 2013-09-05T08:03:00.677 に答える